資源描述:
《c語言對時間的處理函數(shù)和計時的實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
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時間結構,用來存儲時間格式的數(shù)據(jù)信息time_tt_of_day;//定義time_t時間結構t.tm_year=2006-1900;//以1900年為標準計算時間t.tm_m
2、on=6;//為結構體成員賦值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結構表示的時間轉化為日歷時間:time_t型變量。其函數(shù)原型如下:time_tmktime(structtm*timeptr);ctime()函數(shù)(參數(shù)為time_t結構)將時間以固定的格式顯示出來,返回值是char*型的字符串。return0;}2,時間的儲存,通過預定義的兩種結構來存儲: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/*避免重復定義time_t*/#endif2,在標準C/C++中,我們可通過tm結構來獲得日期和時間,tm結構在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;/*夏令時標識符,實行夏令時的時候,tm_isdst為正。不實行夏令時的進候,tm_isdst為0;不了解情況時,tm_isdst()為負。*/};3,時間的顯示:time.h頭文件中提供了asctime()函數(shù)(參數(shù)為tm結構指針)和ctime()函數(shù)(參數(shù)為time_t結構)將時間以固定的格式顯示出來,兩者的返回值都是char*型的字符串。返回的時間格式為:星期幾月份日期時:分:秒年/n/0;time.h還提供了兩種不同的函數(shù)將日歷時間(一個用time_t表示的整數(shù))轉換為我們平時看到的把年月日時分秒分
6、開顯示的時間格式tm:structtm*gmtime(consttime_t*timer);gmtime()函數(shù)是將日歷時間轉化為世界標準時間(即格林尼治時間),并返回一個tm結構體來保存這個時間structtm*localtime(consttime_t*timer);localtime()函數(shù)是將日歷時間轉化為本地時間#include#include#include#includeintmain(void){structtm*local,*ptr;//定義tm結構指
7、針存儲時間信息time_tt;//時間結構或者對象t=time(NULL);//獲取當前系統(tǒng)的日歷時間//通過time()函數(shù)來獲得日歷時間(CalendarTime),//其原型為:time_ttime(time_t*timer);local=localtime(&t);//localtime()函數(shù)是將日歷時間轉化為本地時間printf("Localhouris:%d/n",local->tm_hour);//輸出tm結構體的時間成員printf("UTChouris:%d/n",local->tm_hour);//local=gmtim
8、e(&t);//gmtime()函數(shù)是將日歷時間轉化為世界標準時間(即格林尼治時間),//并返回一個tm結構體來保存這個時間ptr=gmtime(&t);//將日歷