- 相關(guān)推薦
C語(yǔ)言中讀取時(shí)間日期的基本方法
如何讓c語(yǔ)言自動(dòng)讀取電腦上的日期及時(shí)間?下面就有小編分享C語(yǔ)言中讀取時(shí)間日期的基本方法,歡迎大家學(xué)習(xí)!
C語(yǔ)言time()函數(shù):獲取當(dāng)前時(shí)間(以秒數(shù)表示)
頭文件:
#include
定義函數(shù):
time_t time(time_t *t);
函數(shù)說(shuō)明:此函數(shù)會(huì)返回從公元 1970 年1 月1 日的UTC 時(shí)間從0 時(shí)0 分0 秒算起到現(xiàn)在所經(jīng)過(guò)的秒數(shù)。如果t 并非空指針的話,此函數(shù)也會(huì)將返回值存到t 指針?biāo)傅膬?nèi)存。
返回值:成功則返回秒數(shù),失敗則返回((time_t)-1)值,錯(cuò)誤原因存于errno 中。
范例
#include main(){ int seconds = time((time_t*)NULL); printf("%dn", seconds);}
執(zhí)行結(jié)果:
9.73E+08
C語(yǔ)言gmtime()函數(shù):獲取當(dāng)前時(shí)間和日期
頭文件:
#include
定義函數(shù):
struct tm *gmtime(const time_t *timep);
函數(shù)說(shuō)明:gmtime()將參數(shù)timep 所指的time_t 結(jié)構(gòu)中的信息轉(zhuǎn)換成真實(shí)世界所使用的時(shí)間日期表示方法,然后將結(jié)果由結(jié)構(gòu)tm 返回。
結(jié)構(gòu)tm 的定義為
struct tm{ int tm_sec; //代表目前秒數(shù), 正常范圍為0-59, 但允許至61 秒 int tm_min; //代表目前分?jǐn)?shù), 范圍0-59 int tm_hour; //從午夜算起的時(shí)數(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í)間的旗標(biāo)};
此函數(shù)返回的時(shí)間日期未經(jīng)時(shí)區(qū)轉(zhuǎn)換,而是UTC 時(shí)間。
返回值:返回結(jié)構(gòu)tm 代表目前UTC 時(shí)間。
范例
#include 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;%dn", wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec);}
執(zhí)行結(jié)果:
【C語(yǔ)言中讀取時(shí)間日期的基本方法】相關(guān)文章:
在C語(yǔ)言中轉(zhuǎn)換時(shí)間的基本方法07-14
C語(yǔ)言中時(shí)間的基本用法10-03
C語(yǔ)言中存儲(chǔ)日期和時(shí)間的最好方法是哪一種07-06
java日期時(shí)間基本操作方法08-08
C語(yǔ)言讀取word文檔的方法08-21
c語(yǔ)言中map的基本用法10-28
C語(yǔ)言中關(guān)于時(shí)間的函數(shù)10-24
C語(yǔ)言中define的使用方法10-07