在php中我們要對時間日期加減我們可使用兩個函數,mktime與strtotime函數了,下面我來給各位同學介紹它們的使用方法。
mktime 函數
mktime() 函數返回一個日期的 Unix 時間戳。
參數總是表示 GMT 日期,因此 is_dst 對結果沒有影響。
參數可以從右到左依次空著,空著的參數會被設為相應的當前 GMT 值。
參數 描述
hour 可選。規定小時。
minute 可選。規定分鐘。
second 可選。規定秒。
month 可選。規定用數字表示的月。
day 可選。規定天。
year 可選。規定年。在某些系統上,合法值介於 1901 - 2038 之間。不過在 PHP 5 中已經不存在這個限制了。
is_dst 可選。如果時間在日光節約時間(DST)期間,則設置為1,否則設置為0,若未知,則設置為-1。
例子
mktime() 函數對於日期運算和驗證非常有用。它可以自動校正越界的輸入:
代碼如下 復制代碼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
strtotime(time,now)
在一個小項目中要用到環比數據的對比,數據的跨度是一個星期,要做到時間上的定位於是寫了兩個函數,歡迎拍磚。
計算星期一的日期:
function getTheMonday($date) {
if (date ( 'N', strtotime ( $date ) ) == 1) {
return date ( 'Y-m-d', strtotime ( 'Monday', strtotime ( $date ) ) );
} else {
return date ( 'Y-m-d', strtotime ( 'last Monday', strtotime ( $date ) ) );
}
}
計算星期天的日期:
代碼如下 復制代碼function getTheSunday($date) {
return date ( 'Y-m-d', strtotime ( 'Sunday', strtotime ( $date ) ) );
}