time()函數(shù)是返回當(dāng)前時(shí)間的。而mktime()函數(shù)的主要功能不是返回當(dāng)前時(shí)間,而是格式化時(shí)間。雖然單獨(dú)寫mktime()而不加任何參數(shù)如:echo mktime()和echo time()的效果是一樣的。但本質(zhì)上是不一樣的。
PHP mktime() 函數(shù)
PHP Date / Time 函數(shù)
定義和用法
mktime() 函數(shù)返回一個(gè)日期的 Unix 時(shí)間戳。
參數(shù)總是表示 GMT 日期,因此 is_dst 對結(jié)果沒有影響。
參數(shù)可以從右到左依次空著,空著的參數(shù)會被設(shè)為相應(yīng)的當(dāng)前 GMT 值。
語法
mktime(hour,minute,second,month,day,year,is_dst)
參數(shù) 描述
hour 可選。規(guī)定小時(shí)。
minute 可選。規(guī)定分鐘。
second 可選。規(guī)定秒。
month 可選。規(guī)定用數(shù)字表示的月。
day 可選。規(guī)定天。
year 可選。規(guī)定年。在某些系統(tǒng)上,合法值介于 1901 - 2038 之間。不過在 PHP 5 中已經(jīng)不存在這個(gè)限制了。
is_dst
可選。如果時(shí)間在日光節(jié)約時(shí)間(DST)期間,則設(shè)置為1,否則設(shè)置為0,若未知,則設(shè)置為-1。
自 5.1.0 起,is_dst 參數(shù)被廢棄。因此應(yīng)該使用新的時(shí)區(qū)處理特性。
提示和注釋
注釋:在 PHP 5.1 之前,如果該函數(shù)的參數(shù)非法,則會返回 false。
例子
mktime() 函數(shù)對于日期運(yùn)算和驗(yàn)證非常有用。它可以自動(dòng)校正越界的輸入:
<?php
echo(date("M-d-Y",mktime(0,0,0,12,36,2001)));
echo(date("M-d-Y",mktime(0,0,0,14,1,2001)));
echo(date("M-d-Y",mktime(0,0,0,1,1,2001)));
echo(date("M-d-Y",mktime(0,0,0,1,1,99)));
?>
輸出:
Jan-05-2002
Feb-01-2002
Jan-01-2001
Jan-01-1999
PHP time() 函數(shù)
PHP Date / Time 函數(shù)
time() 定義和用法
time() 函數(shù)返回當(dāng)前時(shí)間的 Unix 時(shí)間戳。
語法
time(void)
參數(shù) 描述
void 可選。
說明
返回自從 Unix 紀(jì)元(格林威治時(shí)間 1970 年 1 月 1 日 00:00:00)到當(dāng)前時(shí)間的秒數(shù)。
提示和注釋
提示:自 PHP 5.1 起在 $_SERVER['REQUEST_TIME'] 中保存了發(fā)起該請求時(shí)刻的時(shí)間戳。
例子
例子 1
<?php
$t=time();
echo($t . "<br />");
echo(date("D F d Y",$t));
?>
輸出:
1138618081
Mon January 30 2006
例子 2
<?php
$nextWeek = time() + (7 * 24 * 60 * 60); // 7 days; 24 hours; 60 mins; 60secs
echo 'Now: '. date('Y-m-d') ."\n";
echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";
?>
輸出:
Now: 2005-03-30
Next Week: 2005-04-07