首先還是直奔主題以範例說明如何使用 mktime 取得今日、昨日、上週、本月的起始時間戳和結束時間戳,然後在介紹一下 mktime 函數作用和用法。
//php取得今日開始時間戳與結束時間戳
$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
//php取得昨日起始時間戳和結束時間戳
$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endYesterday=mktime(0,00 ,0,date('m'),date('d'),date('Y'))-1;
//php取得上週起始時間戳與結束時間戳
$beginLastweek=mktime( 0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
$endLastweek=mktime(23,59, 59,date('m'),date('d')-date('w')+7-7,date('Y'));
//php取得本月起始時間戳與結束時間戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m') ,date('t'),date('Y'));
PHP mktime() 函數用來傳回一個日期的Unix 時間戳記。
語法
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 參數被廢棄。因此應該使用新的時區處理特性。
用法
參數總是表示 GMT 日期,因此 is_dst 對結果沒有影響。
參數可以從右到左依序空著,空著的參數會被設為對應的目前 GMT 值。
注意在 PHP 5.1 之前,如果函數的參數非法,則會傳回 false。
另外要注意的是該函數對於日期運算和驗證非常有用。它可以自動校正越界的輸入,如:
echo(date("M-d-Y",mktime(0,0,0,12,36,2001)));