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
Example #1 mktime() basic example
<?php
// Set the default timezone to use. Available as of PHP 5.1
date_default_timezone_set('UTC');
// Prints: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
// Prints something like: 2006-04-05T01:02:03+00:00
echo date('c', mktime(1, 2, 3, 4, 5, 2006));
?>
mktime()是很有用做日期計算和驗證,因為它會自動計算出正確的值的範圍輸入。例如,下面的每一行都會產生字串“Jan - 01 - 1998”
。
<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>
<?php
$lastday = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
?>