PHP筆記之 日期函式的使用介紹

2022-09-27 05:24:15 字數 3743 閱讀 1462

介紹

php是一門非常令人驚奇的語言。它足夠強大(最大的部落格(wordpress)的核心語言),它足夠廣泛(執行在最大社交**facebook上),它足夠簡單(作為初學者首選入門語言)。在低成本的機器上執行良好。而且php語言有很多非常不錯的伺服器套件(如wamp和mamp),很方便的安裝在你的機器上。php有非常豐富的庫資源,便於開發者很容易的處理一些業務。由於我們在專案中與日期接觸最多,所以今天就從日期函式入手學習。

舉乙個簡單的date例子

我將使用echo命令把內容輸出到我們的客戶端(瀏覽器)。我將使用下面的**做為基礎**。

複製** **如下:

getting started with dates in php5

<?php

date_default_timezone_set('asia/shanghai');

echo "today is ",date('l');

?>

你將在你的瀏覽器裡看到如下的內容。

today is friday這個函式輸出星期幾的文字格式。date函式至少需要乙個字元引數(這個引數告訴我們怎樣格式化當前日期)。

嘗試不同的格式

如果你看了php手冊中php date function,那麼你將發現有很多格式化日期的方式。

<?php echo "today is ",date('y-m-d'); ?>

將得到today is 2012-08-17

有一些日期是很普遍地被使用,所以php提供了一些常量供你使用。舉例,你可以使用cookie獲取到客戶端日期。

<?php echo "today is ",date(date_cookie); ?>你將得到如下面的內容

today is friday, 17-aug-12 11:34:38 cst注意當使用常量的時候不要使用引號。

現在是什麼時候?

如果你想要輸出當前時間,你能使用date(不同格式化字元參www.cppcns.com數)。

<?php echo "the time is ",date('g:i:sa'); ?>你將得到

the time is 11:39:59am

本地化你的時區

如果你發現以上的**沒有給出正確的時間,很有可能是因為你的服ajmdph務器設定了與你本地不同的時區。你需要在伺服器上指定時區,那麼你用下面的**:

<?php date_default_timezone_set('asia/shanghai'); ?>

這個將設定中國上海時區。這是php5的函式(注意舊版本的php),有很多供你選擇時區。如果你想永久生效,你可以修改你的php.ini檔案。

獲取其他時間

你經常需要其他時間,而不是現在的時間。當你用date()函式建立時間的時候,系統會使用unix系統時間。這個時間表示從2023年1月1日 00:00:00 gmt(unix 紀元時間),到現在的秒數。

為了詳細說明怎樣獲取指定時間的日期,你可以提供秒數做為date(0函式的第二個引數。

<?php echo "today is ",date('y-m-d', 1309133434); ?>結果是:

today is 2011-06-27

這個看起來沒什麼用途,但它意味著你能用date()函式做計算。這之前,你需要簡單的建立乙個時間戳。

建立時間戳

有很多建立時間戳的方式。我們能夠使用mktime()函式得到我們需要的時間戳。

複製** **如下:

<?php

$mytime=mktime(9, 23, 33, 6, 26, 2011);

echo "today is ",date('y-m-d g:i:sa', $mytime);

?>

得到的結果是:

today is 2011-06-26 9:23:33am mktime()

函式需要你依次傳遞小時,分鐘,秒,月,日,年。這是獲取時間戳的好的方式,但是有更酷的方式。

通過字元獲取時間戳

你可www.cppcns.com以使用strtotime()函式獲取時間戳,php把可讀的字元轉換成unix時間戳。php在把字元轉換成時間戳方面是相當靈活的,因此你可以插入各種各樣的值來獲取你想要的時間戳。

這是乙個簡單例子:

複製** **如下:

<?php

$mytime=strtotime("7:50pm june 26 2011");

echo "today is ",date('y-m-d g:i:sa', $mytime);

?>

輸出:today is 2011-06-26 7:50:00pm

php在解www.cppcns.com釋字元方面是相當靈巧的,但不是完美的,因此,在你插入之前一定要測試你輸入的字元。使用"english-like instructions"轉化成需要的時間戳,這是乙個非常不錯的方式。你可以像下面這樣做:

複製** **如下:

$nextfriday=strtotime("next friday"); //下周五

$nextmonth=strtotime("+1 month"); //從今天開始計算乙個月以後的時間

$lastchristmas=strtotime("-1 year dec 25"); //去年聖誕節

獲取日期範圍

strtotime返回的值被轉換為數字,我們能夠用這些數字做基礎運算,我們可以用這些數字做很多非常有意思的事情。比如,你每週二需要教一門功課,為期16周,你想得到你教科時間。你能夠做下面的事情。

複製** **如下:

<?php

$startdate = strtotime('next tuesday');

$enddate = strtotime('+16 weeks', $startdate);

$currentdate = $startdate;

echo '';

while($currentdate < $enddate):

echo "\t';

?>

你將會得到如下的結果:

複製** **如下:

aug 21

aug 28

sep 04

sep 11

sep 18

sep 25

oct 02

oct 09

oct 16

oct 23

oct 30

nov 06

nov 13

nov 20

nov 27

dec 04

注意一下這行:$currentdate = strtotime("+1 week", $currentdate)。在這行,你會發現你需要指定乙個時間戳做為第二個引數,strtotime將使用這個引數代替預設時間戳(今天),並進行運算。

到某乙個日期的天數

使用計算器的時候,我們會試圖去計算到某一天的天數。你很容易計算11月份第四個星期四的時間戳。

複製** **如下:

$someday = strtotime("3 weeks thursday november 1");

$daysutildate = ceil(($someday - time())/60/60/24);

echo "there are ", $daysutildate, " until thanksgiving";

首先,我們開始計算感恩節日期(11月1號之後的第乙個星期四之後的第3個星期四),然後我們通過簡單的算術,計算出感恩節到當前時間之間的天數。當我們進行比較運算的時候,我們可以使用time(),因為它返回,到當前時間的紀元秒數。

本文位址:

PHP之日期函式

介紹 php是一門非常令人驚奇的語言。它足夠強大 最大的部落格 wordpress 的核心語言 它足夠廣泛 執行在最大社交 facebook上 它足夠簡單 作為初學者首選入門語言 在低成本的機器上執行良好。而且php語言有很多非常不錯的伺服器套件 如wamp和mamp 很方便的安裝在你的機器上。ph...

PHP函式之日期時間函式date 使用詳解

date 函式是我們在php開發中常碰到並且會使用到的乙個日期函式,下面我來給大家介紹date 函式的一些基本扮靚和方法,有需要了解的朋友可進入參考 日期時間函式是php 的核心組成部分。無需安裝即可使用這些函式。下面來詳細說說date函式的具體用法 php date 函式 php date 函式可...

php基礎之日期時間函式(4)

時間戳是指1970年01月01日 00 00 00到這一瞬間經過的秒數 php日期時間函式 time 返回當前時間的 unix 時間戳 microtime 函式返回當前 unix 時間戳的微秒數 microtime true microtime 如果呼叫時不帶可選引數,本函式以 msec sec 的...