精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
C語言time.h的使用

     以前經(jīng)常在程序中獲取系統(tǒng)時間,計算時間,但是每次都是到網(wǎng)上臨時找來一些資料對付過去,今天就索性整理一下。

    關(guān)于C語言time.h的一些應(yīng)用。

    clock_t clock(void);    //得到從進(jìn)程啟動到此次函數(shù)調(diào)用的累計的時鐘滴答數(shù)。每秒包含CLOCKS_PER_SEC(time.h中定義的常量,一般為1000,貌似linux下為1000000)個時鐘滴答。時鐘滴答數(shù)用數(shù)據(jù)類型clock_t表示。clock_t類型一般是32位整數(shù)類型。

    time_t time(time_t* timer);    //得到從標(biāo)準(zhǔn)計時點(diǎn)(一般是1970年1月1日0時0秒)到當(dāng)前時間的秒數(shù)。日歷時間用數(shù)據(jù)類型time_t表示。time_t類型實(shí)際上一般是32位或64位整數(shù)類型。

    分解時間同結(jié)構(gòu)體類型表示tm表示:

    struct tm

    {

        int tm_hour;    //時    0~23

        int tm_isdst;    //夏令時是否開啟    開啟(> 0),關(guān)閉(= 0),未知(< 0)

        int tm_mday; //日    0~31

        int tm_min;    //分    0~59

        int tm_mon;   //月    0~11

        int tm_sec;    //秒    0~60(60為天文學(xué)中定義的閏秒)

        int tm_wday;  //星期,從星期天計    0~6

        int tm_yday;   //本年經(jīng)過的天數(shù)    0~365

        int tm_year;    //從1900年起經(jīng)過的年數(shù)    

    };    

    struct tm* gmtime(const time_t* timer);      //從日歷時間time_t到分解時間tm的轉(zhuǎn)換。函數(shù)返回的是一個靜態(tài)分配的tm結(jié)構(gòu)存儲空間,該存儲空間被gmtime,localtime與ctime函數(shù)所共用. 這些函數(shù)的每一次調(diào)用會覆蓋這塊tm結(jié)構(gòu)存儲空間的內(nèi)容。

    struct tm* gmtime_r(const time_t* timer , struct tm*result);    //該函數(shù)是gmtime函數(shù)的線程安全版本

    struct tm* localtime(const time_t* timer);    //從日歷時間time_t到分解時間tm的轉(zhuǎn)換,即結(jié)果數(shù)據(jù)已經(jīng)調(diào)整到本地時區(qū)與夏令時。

    time_t mktime(struct tm* ptm);    //從分解時間tm到日歷時間time_t的轉(zhuǎn)換。

    time_t timegm(struct tm* brokentime);    //從分解時間tm(被視作UTC時間,不考慮本地時區(qū)設(shè)置)到日歷時間time_t的轉(zhuǎn)換。該函數(shù)較少被使用。        

    double difftime(time_t timer2, time_t timer1);    //比較兩個日歷時間,返回double類型的秒數(shù)差。似乎用處不大,time_t可以直接相減

   

    以下是幾個把日期數(shù)據(jù)按常用格式輸出的函數(shù):

    char *asctime(const struct tm* tmptr);    //把分解時間tm輸出到字符串,結(jié)果的格式為"Www Mmm dd hh:mm:ss yyyy",即“周幾 月份數(shù) 日數(shù) 小時數(shù):分鐘數(shù):秒鐘數(shù) 年份數(shù)”。函數(shù)返回的字符串為靜態(tài)分配,長度不大于26,與ctime函數(shù)共用。函數(shù)的每次調(diào)用將覆蓋該字符串內(nèi)容。

    char* ctime(const time_t* timer);    //把日歷時間time_t timer輸出到字符串,輸出格式與asctime函數(shù)一樣。

    size_t strftime(char* s, size_t n, const char* format, const struct tm* tptr);    //把分解時間tm轉(zhuǎn)換為自定義格式的字符串,類似于常見的字符串格式輸出函數(shù)sprintf。

    char * strptime(const char* buf, const char* format, struct tm* tptr);    //strftime的逆操作,把字符串按照自定義的格式轉(zhuǎn)換為分解時間tm。恩恩……這個函數(shù)還是比較有意思的。

    其中上面的自定義格式字符串類型有自己的格式命令符,相當(dāng)多,請讀者自己查閱。

    下面是我寫的代碼:

    //取按下回車前后的系統(tǒng)時間,并計算時間差   

  1 #include<stdio.h>
  2 #include<time.h>
  3 int main()
  4 {
  5     time_t now1,now2,d,h,m,s,t;
  6     struct tm *tnow1,*tnow2;
  7     time(&now1);    tnow1=localtime(&now1);
  8     printf("%s\n",asctime(tnow1));
  9     getchar();//等待回車
 10     time(&now2);    tnow2=localtime(&now2);
 11     printf("%s\n",asctime(tnow2));
 12     t=now2-now1;    d=t/86400;
 13     t%=86400;   h=t/3600;
 14     t%=3600;    m=t/60; s=t%60;
 15     printf("Time Difference: %d day  %d hour  %d mintues  %d seconds\n",d,h,m,s);
 16     return 0;
 17 }

      運(yùn)行結(jié)果:

    

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Windows獲取當(dāng)前系統(tǒng)時間函數(shù)總結(jié)
c/c++中的日期和時間
#include<time.h> 庫函數(shù)詳解
Windows 獲取當(dāng)前系統(tǒng)時間函數(shù)總結(jié)
c++ 如何獲取系統(tǒng)時間
Python常用時間函數(shù)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

主站蜘蛛池模板: 彩票| 车险| 衡南县| 湘阴县| 垦利县| 丹巴县| 垫江县| 依安县| 甘谷县| 安宁市| 新巴尔虎右旗| 利辛县| 麦盖提县| 英德市| 盖州市| 澄迈县| 曲阳县| 南投市| 洞头县| 田林县| 喀什市| 邵东县| 肥城市| 田林县| 韩城市| 外汇| 溧阳市| 郸城县| 丘北县| 商都县| 崇左市| 冕宁县| 潞西市| 乌恰县| 鹤岗市| 台中市| 库尔勒市| 洛川县| 千阳县| 白城市| 庆安县|