C語言mktime()函數:將時間轉換成經過的秒數
標頭檔:
定義函數:
time_t mktime(strcut tm * timeptr);
函數說明:mktime()用來將參數timeptr 所指的tm 結構資料轉換成從公元1970 年1 月1 日0 時0 分0 秒算起至今的UTC 時間所經過的秒數。
傳回值:返回經過的秒數。
範例:用time()取得時間 (秒數), 利用localtime() 轉換成struct tm 再利用mktine()將structtm 轉換成原來的秒數。
#include <time.h>main(){ time_t timep; strcut tm *p; time(&timep); printf("time() : %d \n", timep); p = localtime(&timep); timep = mktime(p); printf("time()->localtime()->mktime():%d\n", timep);}
執行結果:
time():974943297 time()->localtime()->mktime():974943297
C語言localtime()函數:擷取目前時間和日期並轉換為本地時間
標頭檔:
定義函數:
struct tm *localtime(const time_t * timep);
函數說明:localtime()將參數timep 所指的time_t 結構中的資訊轉換成真實世界所使用的時間日期表示方法,然後將結果由結構tm 返回。結構tm 的定義請參考gmtime()。此函數返回的時間日期已經轉換成當地時區。
傳回值:返回結構tm 代表目前的當地時間。
範例
#include <time.h>main(){ char *wday[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; time_t timep; struct tm *p; time(&timep); p = localtime(&timep); //取得當地時間 printf ("%d%d%d ", (1900+p->tm_year), (l+p->tm_mon), p->tm_mday); printf("%s%d:%d:%d\n", wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec);}
執行結果: