C語言time()函數(shù):獲取當前時間(以秒數(shù)表示)
頭文件:
#include <time.h>
定義函數(shù):
time_t time(time_t *t);
函數(shù)說明:此函數(shù)會返回從公元 1970 年1 月1 日的UTC 時間從0 時0 分0 秒算起到現(xiàn)在所經(jīng)過的秒數(shù)。如果t 并非空指針的話,此函數(shù)也會將返回值存到t 指針所指的內(nèi)存。
返回值:成功則返回秒數(shù),失敗則返回((time_t)-1)值,錯誤原因存于errno 中。
范例
#include <time.h>main(){ int seconds = time((time_t*)NULL); printf("%d/n", seconds);}
執(zhí)行結(jié)果:
9.73E+08
C語言gmtime()函數(shù):獲取當前時間和日期
頭文件:
#include <time.h>
定義函數(shù):
struct tm *gmtime(const time_t *timep);
函數(shù)說明:gmtime()將參數(shù)timep 所指的time_t 結(jié)構(gòu)中的信息轉(zhuǎn)換成真實世界所使用的時間日期表示方法,然后將結(jié)果由結(jié)構(gòu)tm 返回。
結(jié)構(gòu)tm 的定義為
struct tm{ int tm_sec; //代表目前秒數(shù), 正常范圍為0-59, 但允許至61 秒 int tm_min; //代表目前分數(shù), 范圍0-59 int tm_hour; //從午夜算起的時數(shù), 范圍為0-23 int tm_mday; //目前月份的日數(shù), 范圍01-31 int tm_mon; //代表目前月份, 從一月算起, 范圍從0-11 int tm_year; //從1900 年算起至今的年數(shù) int tm_wday; //一星期的日數(shù), 從星期一算起, 范圍為0-6 int tm_yday; //從今年1 月1 日算起至今的天數(shù), 范圍為0-365 int tm_isdst; //日光節(jié)約時間的旗標};
此函數(shù)返回的時間日期未經(jīng)時區(qū)轉(zhuǎn)換,而是UTC 時間。
返回值:返回結(jié)構(gòu)tm 代表目前UTC 時間。
范例
#include <time.h>main(){ char *wday[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; time_t timep; struct tm *p; time(&timep); p = gmtime(&timep); printf("%d%d%d", (1900+p->tm_year), (1+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);}
執(zhí)行結(jié)果:
2000/10/28 Sat 8:15:38
|
新聞熱點
疑難解答
圖片精選