mktime
(PHP3 , PHP4)
mktime --- 取得日期的UNIX時間戳記
語法 : int mktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])
說明 :
警告 : 此函式參數的順序和正規的Unix mktime( )中參數的順序不同,且不提供由右到左來省略參數,這是程式中常見的錯誤。
給予參數則傳回Unix時間戳記,此時間戳記是介於Unux時期(January 1 1970)與所指定的時間的總秒數,傳回的時間戳記是個長整數。
參數可以由右到左的順序中省略,任何參數以此方式省略時,將會被依照本地日期與時間設定成目前的值。
如果時間是在dst(daylight savings time)的整個期間,is_dst可以設為1;如果不是則設為0;如果不知道是否時間是在dst(daylight savings time)範圍內,則設為 -1(預設)。
注意 : is_dst增加於 3.0.10.
mktime( )有助於日期的計算與確認,它會自動地計算正確的值,例如 : 下列各行都將產生出字串"Jan-01-1998"。
Example :
<?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));
?>
year可以是二或是四個數字的值,值的範圍是0-69、2000-2069及70-99、1970-1999。
下個月的最後一天可由任何給予的月份表達成"0"來表示,下列範例都將產生出字串"The last day in Feb 2000 is: 29"。
Example :
<?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);
?>
參考 : date( ) time( )