資源描述:
《c語言對時間的處理函數(shù)和計時的實現(xiàn)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、c語言對時間的處理函數(shù)和計時的實現(xiàn)1,時間的獲?。和ㄟ^time()函數(shù)來獲得日歷時間(CalendarTime),其原型為:time_ttime(time_t*timer);#include"stdafx.h"#include"time.h"#include"stdio.h"#include"stdlib.h"intmain(void){structtmt;//定義tm時間結(jié)構(gòu),用來存儲時間格式的數(shù)據(jù)信息time_tt_of_day;//定義time_t時間結(jié)構(gòu)t.tm_year=2006-1900;//以1900年為標(biāo)準(zhǔn)計算時間t.tm_m
2、on=6;//為結(jié)構(gòu)體成員賦值t.tm_mday=1;t.tm_hour=0;t.tm_min=0;t.tm_sec=1;t.tm_isdst=0;t_of_day=mktime(&t);//使用mktime()函數(shù)將用tm結(jié)構(gòu)表示的時間轉(zhuǎn)化為日歷時間:time_t型變量。其函數(shù)原型如下:time_tmktime(structtm*timeptr);ctime()函數(shù)(參數(shù)為time_t結(jié)構(gòu))將時間以固定的格式顯示出來,返回值是char*型的字符串。return0;}2,時間的儲存,通過預(yù)定義的兩種結(jié)構(gòu)來存儲:1,日歷時間(CalendarT
3、ime)是通過time_t數(shù)據(jù)類型來表示的,用time_t表示的時間(日歷時間)是從一個時間點(例如:1970年1月1日0時0分0秒)到此時的秒數(shù)。在time.h中,我們也可以看到time_t是一個長整型數(shù):#ifndef_TIME_T_DEFINEDtypedeflongtime_t;/*時間值*/#define_TIME_T_DEFINED/*避免重復(fù)定義time_t*/#endif2,在標(biāo)準(zhǔn)C/C++中,我們可通過tm結(jié)構(gòu)來獲得日期和時間,tm結(jié)構(gòu)在time.h中的定義如下:structtm{inttm_sec;/*秒–取值區(qū)間為[0,
4、59]*/inttm_min;/*分-取值區(qū)間為[0,59]*/inttm_hour;/*時-取值區(qū)間為[0,23]*/inttm_mday;/*一個月中的日期-取值區(qū)間為[1,31]*/inttm_mon;/*月份(從一月開始,0代表一月)-取值區(qū)間為[0,11]*/inttm_year;/*年份,其值等于實際年份減去1900*/inttm_wday;/*星期–取值區(qū)間為[0,6],其中0代表星期天,1代表星期一,以此類推*/inttm_yday;/*從每年的1月1日開始的天數(shù)–取值區(qū)間為[0,365],其中0代表1月1日,1代表1月2日,
5、以此類推*/inttm_isdst;/*夏令時標(biāo)識符,實行夏令時的時候,tm_isdst為正。不實行夏令時的進(jìn)候,tm_isdst為0;不了解情況時,tm_isdst()為負(fù)。*/};3,時間的顯示:time.h頭文件中提供了asctime()函數(shù)(參數(shù)為tm結(jié)構(gòu)指針)和ctime()函數(shù)(參數(shù)為time_t結(jié)構(gòu))將時間以固定的格式顯示出來,兩者的返回值都是char*型的字符串。返回的時間格式為:星期幾月份日期時:分:秒年/n/0;time.h還提供了兩種不同的函數(shù)將日歷時間(一個用time_t表示的整數(shù))轉(zhuǎn)換為我們平時看到的把年月日時分秒分
6、開顯示的時間格式tm:structtm*gmtime(consttime_t*timer);gmtime()函數(shù)是將日歷時間轉(zhuǎn)化為世界標(biāo)準(zhǔn)時間(即格林尼治時間),并返回一個tm結(jié)構(gòu)體來保存這個時間structtm*localtime(consttime_t*timer);localtime()函數(shù)是將日歷時間轉(zhuǎn)化為本地時間#include#include#include#includeintmain(void){structtm*local,*ptr;//定義tm結(jié)構(gòu)指
7、針存儲時間信息time_tt;//時間結(jié)構(gòu)或者對象t=time(NULL);//獲取當(dāng)前系統(tǒng)的日歷時間//通過time()函數(shù)來獲得日歷時間(CalendarTime),//其原型為:time_ttime(time_t*timer);local=localtime(&t);//localtime()函數(shù)是將日歷時間轉(zhuǎn)化為本地時間printf("Localhouris:%d/n",local->tm_hour);//輸出tm結(jié)構(gòu)體的時間成員printf("UTChouris:%d/n",local->tm_hour);//local=gmtim
8、e(&t);//gmtime()函數(shù)是將日歷時間轉(zhuǎn)化為世界標(biāo)準(zhǔn)時間(即格林尼治時間),//并返回一個tm結(jié)構(gòu)體來保存這個時間ptr=gmtime(&t);//將日歷