mktime功能
將時間轉換為自1970年1月1日以來逝去時間的秒數,發生錯誤時返回-1.
相關函式
time,asctime,gmtime,localtime
表頭檔案
#include <time.h>
定義函式
time_t mktime(struct tm * timeptr);
函式說明
mktime()用來將參數timeptr所指的tm結構數據轉換成從公元1970年1月1日0時0分0 秒算起至今的時間所經過的秒數。
mktime()轉換的時間帶有時區,linux版本使用tzset、windows版本使用setTimeZoneInformation設定時區。
轉換時不考慮tm結構的tm_wday和tm_yday,僅用tm_mday來決定日期。
返回值
返回經過的秒數。
範例
/* 用time()取得時間(秒數),利用localtime()
轉換成struct tm 再利用mktime()將struct tm轉換成原來的秒數*/
在我的電腦上,此時運行所得的輸出為:
當然,你來運行這個例子的時候,結果肯定不一樣了,呵呵,除非你電腦時間沒調好。
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 參數被廢棄。因此應該使用新的時區處理特性。 |
範例
用Php判斷是否為閏年:
用Php求出生年齡:
計算每個月的最後一天
年,月,日都等於零的日期被認為是非法的(否則會被當作 30.11.1999,這是很怪的行為)。