php日期
PHP 日期和時間
PHP date() 函數(shù)用于對日期或時間進(jìn)行格式化。
PHP Date() 函數(shù)
PHP Date() 函數(shù)把時間戳格式化為更易讀的日期和時間。
注釋:時間戳是一種字符序列,它表示具體事件發(fā)生的日期和事件。
獲得簡單的日期
date() 函數(shù)的格式參數(shù)是必需的,它們規(guī)定如何格式化日期或時間。
下面列出了一些常用于日期的字符:
·???????? d - 表示月里的某天(01-31)
·???????? m - 表示月(01-12)
·???????? Y - 表示年(四位數(shù))
·???????? 1 - 表示周里的某天
其他字符,比如 "/", "." 或 "-" 也可被插入字符中,以增加其他格式。
下面的例子用三種不同方法格式今天的日期:
實(shí)例
<?php echo "今天是 " . date("Y/m/d") . "<br>"; echo "今天是 " . date("Y.m.d") . "<br>"; echo "今天是 " . date("Y-m-d") . "<br>"; echo "今天是 " . date("l"); ?>
PHP 提示 - 自動版權(quán)年份
使用 date() 函數(shù)在您的網(wǎng)站上自動更新版本年份:
實(shí)例
? 2010-<?php echo date("Y")?>
獲得簡單的時間
下面是常用于時間的字符:
·???????? h - 帶有首位零的 12 小時小時格式
·???????? i - 帶有首位零的分鐘
·???????? s - 帶有首位零的秒(00 -59)
·???????? a - 小寫的午前和午后(am 或 pm)
下面的例子以指定的格式輸出當(dāng)前時間:
實(shí)例
<?php echo "現(xiàn)在時間是 " . date("h:i:sa"); ?>
注釋:請注意 PHP date() 函數(shù)會返回服務(wù)器的當(dāng)前日期/時間!
獲得時區(qū)
如果從代碼返回的不是正確的時間,有可能是因?yàn)槟姆?wù)器位于其他國家或者被設(shè)置為不同時區(qū)。
因此,如果您需要基于具體位置的準(zhǔn)確時間,您可以設(shè)置要用的時區(qū)。
下面的例子把時區(qū)設(shè)置為 "Asia/Shanghai",然后以指定格式輸出當(dāng)前時間:
實(shí)例
<?php date_default_timezone_set("Asia/Shanghai"); echo "當(dāng)前時間是 " . date("h:i:sa"); ?>
通過 PHP mktime() 創(chuàng)建日期
date() 函數(shù)中可選的時間戳參數(shù)規(guī)定時間戳。如果您未規(guī)定時間戳,將使用當(dāng)前日期和時間(正如上例中那樣)。
mktime() 函數(shù)返回日期的 Unix 時間戳。Unix 時間戳包含 Unix 紀(jì)元(1970 年 1 月 1 日 00:00:00 GMT)與指定時間之間的秒數(shù)。
語法
mktime(hour,minute,second,month,day,year)
下面的例子使用 mktime() 函數(shù)中的一系列參數(shù)來創(chuàng)建日期和時間:
實(shí)例
<?php $d=mktime(9, 12, 31, 6, 10, 2015); echo "創(chuàng)建日期是 " . date("Y-m-d h:i:sa", $d); ?>
通過 PHP strtotime() 用字符串來創(chuàng)建日期
PHP strtotime() 函數(shù)用于把人類可讀的字符串轉(zhuǎn)換為 Unix 時間。
語法
strtotime(time,now)
下面的例子通過 strtotime() 函數(shù)創(chuàng)建日期和時間:
實(shí)例
<?php $d=strtotime("10:38pm April 15 2015"); echo "創(chuàng)建日期是 " . date("Y-m-d h:i:sa", $d); ?>
PHP 在將字符串轉(zhuǎn)換為日期這方面非常聰明,所以您能夠使用各種值:
實(shí)例
<?php $d=strtotime("tomorrow"); echo date("Y-m-d h:i:sa", $d) . "<br>"; $d=strtotime("next Saturday"); echo date("Y-m-d h:i:sa", $d) . "<br>"; $d=strtotime("+3 Months"); echo date("Y-m-d h:i:sa", $d) . "<br>"; ?>
不過,strtotime() 并不完美,所以請記得檢查放入其中的字符串。
更多日期實(shí)例
下例輸出下周六的日期:
實(shí)例
<?php $startdate = strtotime("Saturday"); $enddate = strtotime("+6 weeks",$startdate); while ($startdate < $enddate) { echo date("M d", $startdate),"<br>"; $startdate = strtotime("+1 week", $startdate); } ?>
下例輸出七月四日之前的天數(shù):
實(shí)例
<?php $d1=strtotime("December 31"); $d2=ceil(($d1-time())/60/60/24); echo "距離十二月三十一日還有:" . $d2 ." 天。"; ?>