time()函數是返回當前時間的。而mktime()函數的主要功能不是返回當前時間,而是格式化時間。雖然單獨寫mktime()而不加任何參數如:echo mktime()和echo time()的效果是一樣的。但本質上是不一樣的。
PHP mktime() 函數
PHP Date / Time 函數
定義和用法
mktime() 函數返回一個日期的 Unix 時間戳。
參數總是表示 GMT 日期,因此 is_dst 對結果沒有影響。
參數可以從右到左依次空著,空著的參數會被設為相應的當前 GMT 值。
語法
mktime(hour,minute,second,month,day,year,is_dst)
參數 描述
hour 可選。規定小時。
minute 可選。規定分鐘。
second 可選。規定秒。
month 可選。規定用數字表示的月。
day 可選。規定天。
year 可選。規定年。在某些系統上,合法值介於 1901 - 2038 之間。不過在 PHP 5 中已經不存在這個限制了。
is_dst
可選。如果時間在日光節約時間(DST)期間,則設置為1,否則設置為0,若未知,則設置為-1。
自 5.1.0 起,is_dst 參數被廢棄。因此應該使用新的時區處理特性。
提示和注釋
注釋:在 PHP 5.1 之前,如果該函數的參數非法,則會返回 false。
例子
mktime() 函數對於日期運算和驗證非常有用。它可以自動校正越界的輸入:
復制代碼 代碼如下:
<?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() 函數
PHP Date / Time 函數
time() 定義和用法
time() 函數返回當前時間的 Unix 時間戳。
語法
time(void)
參數 描述
void 可選。
說明
返回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到當前時間的秒數。
提示和注釋
提示:自 PHP 5.1 起在 $_SERVER['REQUEST_TIME'] 中保存了發起該請求時刻的時間戳。
例子
例子 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