之前YOGO曾在「Mysql的日期加減運算」這篇文章中有提到MYSQL的日期加減運算,而這一篇文章則是提供PHP日期加減運算的解法;所先先來介紹一下4個PHP內建的日期函式,如下所示:
1.date() - 將本地的時間/日期格式化
語法 : string date (string format [, int timestamp])
說明 : 使用給予的timestamp按照格式化字串傳回一格式化字串,如果沒有給予timestamp則使用本地的時間。
或可參考YOGO「php的時間函式(date)應用 」這篇文章。
2.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)與所指定的時間的總秒數,傳回的時間戳記是個長整數。
參數可以由右到左的順序中省略,任何參數以此方式省略時,將會被依照本地日期與時間設定成目前的值。
mktime( )有助於日期的計算與確認,它會自動地計算正確的值,例如 : 下列各行都將產生出字串"Jan-01-1998"。
如果時間是在dst(daylight savings time)的整個期間,is_dst可以設為1;如果不是則設為0;如果不知道是否時間是在dst(daylight savings time)範圍內,則設為 -1(預設)。
注意 : is_dst增加於 3.0.10.
3.time() 傳回目前UNIX時間戳記
語法 : int time(void);說明 : 傳回從Unix時期(January 1 1970 00:00:00 GMT)到現在的總秒數。4.srtotime() - 剖析任何英文的日期時間成為UNIX時間戳記
語法 : int strtotime (string time [, int now])說明 :給予此函式一包含英文日期格式的字串,將會試著去剖析此字串成為UNIX時間戳記