• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            linux 下獲取系統(tǒng)函數(shù)的方法

             

              1C獲取系統(tǒng)時(shí)間的方法(linux)
              2Reference: http://net.pku.edu.cn/~yhf/linux_c/function/04.html
              3
              4asctime(將時(shí)間和日期以字符串格式表示) 
              5相關(guān)函數(shù) 
              6
              7time,ctime,gmtime,localtime
              8 
              9表頭文件 
             10
             11#include<time.h>
             12 
             13定義函數(shù) 
             14
             15char * asctime(const struct tm * timeptr);
             16 
             17函數(shù)說明 
             18
             19asctime()將參數(shù)timeptr所指的tm結(jié)構(gòu)中的信息轉(zhuǎn)
             20
             21換成真實(shí)世界所使用的時(shí)間日期表示方法,然后將結(jié)果以字
             22
             23符串形態(tài)返回。此函數(shù)已經(jīng)由時(shí)區(qū)轉(zhuǎn)換成當(dāng)?shù)貢r(shí)間,字符串
             24
             25格式為:
             26
             27“Wed Jun 30 21:49:08 1993\n”
             28 
             29返回值  
             30
             31返回一字符串表示目前當(dāng)?shù)氐臅r(shí)間日期。
             32
             33 
             34附加說明 
             35
             36若再調(diào)用相關(guān)的時(shí)間日期函數(shù),此字符串可能會(huì)被破壞。此函數(shù)與ctime不同處在于傳入的參數(shù)是不同的結(jié)構(gòu)。
             37
             38范例 
             39
             40#include <time.h>
             41main()
             42{
             43time_t timep;
             44time (&timep);
             45printf(“%s”,asctime(gmtime(&timep)));
             46}

             47 
             48執(zhí)行  Sat Oct 28 02:10:06 2000
             49 
             50 
             51
             52 
             53ctime(將時(shí)間和日期以字符串格式表示) 
             54相關(guān)函數(shù) 
             55
             56time,asctime,gmtime,localtime
             57 
             58表頭文件 
             59
             60#include<time.h>
             61 
             62定義函數(shù) 
             63
             64char *ctime(const time_t *timep);
             65 
             66函數(shù)說明 
             67
             68ctime()將參數(shù)timep所指的time_t結(jié)構(gòu)中的信息轉(zhuǎn)
             69
             70換成真實(shí)世界所使用的時(shí)間日期表示方法,然后將結(jié)果以字
             71
             72符串形態(tài)返回。此函數(shù)已經(jīng)由時(shí)區(qū)轉(zhuǎn)換成當(dāng)?shù)貢r(shí)間,字符串
             73
             74格式為“Wed Jun 30 21 :49 :08 1993\n”。若再調(diào)用相關(guān)的
             75
             76時(shí)間日期函數(shù),此字符串可能會(huì)被破壞。
             77 
             78返回值 
             79
             80返回一字符串表示目前當(dāng)?shù)氐臅r(shí)間日期。
             81 
             82范例
             83
             84#include<time.h>
             85main()
             86{
             87time_t timep;
             88time (&timep);
             89printf(“%s”,ctime(&timep));
             90}

             91 
             92執(zhí)行  Sat Oct 28 10 : 12 : 05 2000
             93 
             94 
             95
             96 
             97gettimeofday(取得目前的時(shí)間) 
             98相關(guān)函數(shù) 
             99
            100time,ctime,ftime,settimeofday
            101 
            102表頭文件 
            103
            104#include <sys/time.h>
            105#include <unistd.h>
            106 
            107定義函數(shù) 
            108
            109int gettimeofday ( struct tim * tv , struct  timezone * tz )
            110 
            111函數(shù)說明 
            112
            113gettimeofday()會(huì)把目前的時(shí)間有tv所指的結(jié)構(gòu)返回,當(dāng)?shù)貢r(shí)區(qū)的信息則放到tz所指的結(jié)構(gòu)中。
            114tim結(jié)構(gòu)定義為:
            115struct tim{
            116long tv_sec;
            117long tv_usec;
            118}
            ;
            119timezone 結(jié)構(gòu)定義為:
            120struct timezone{
            121int tz_minuteswest;
            122int tz_dsttime;
            123}
            ;
            124上述兩個(gè)結(jié)構(gòu)都定義在/usr/include/sys/time.h。tz_dsttime
            125
            126所代表的狀態(tài)如下
            127DST_NONE
            128DST_USA
            129DST_AUST
            130DST_WET
            131DST_MET
            132DST_EET
            133DST_CAN
            134DST_GB
            135DST_RUM
            136DST_TUR
            137DST_AUSTALT
            138 
            139返回值 
            140
            141成功則返回0,失敗返回-1,錯(cuò)誤代碼存于errno。
            142
            143附加說明EFAULT指針tv和tz所指的內(nèi)存空間超出存取權(quán)限
            144
            145
            146 
            147范例 
            148
            149#include<sys/time.h>
            150#include<unistd.h>
            151main(){
            152struct tim tv;
            153struct timezone tz;
            154gettimeofday (&tv , &tz);
            155printf(“tv_sec; %d\n”, tv,.tv_sec) ;
            156printf(“tv_usec; %d\n”,tv.tv_usec);
            157printf(“tz_minuteswest; %d\n”, tz.tz_minuteswest);
            158printf(“tz_dsttime, %d\n”,tz.tz_dsttime);
            159}

            160 
            161執(zhí)行  tv_sec: 974857339
            162tv_usec:136996
            163tz_minuteswest:-540
            164tz_dsttime:0
            165 
            166 
            167
            168 
            169gmtime(取得目前時(shí)間和日期) 
            170相關(guān)函數(shù) 
            171
            172time,asctime,ctime,localtime
            173 
            174表頭文件 
            175
            176#include<time.h>
            177 
            178定義函數(shù) 
            179
            180struct tm*gmtime(const time_t*timep);
            181 
            182函數(shù)說明 
            183
            184gmtime()將參數(shù)timep 所指的time_t 結(jié)構(gòu)中的信息
            185
            186轉(zhuǎn)換成真實(shí)世界所使用的時(shí)間日期表示方法,然后將結(jié)果由
            187
            188結(jié)構(gòu)tm返回。
            189結(jié)構(gòu)tm的定義為
            190struct tm
            191{
            192int tm_sec;
            193int tm_min;
            194int tm_hour;
            195int tm_mday;
            196int tm_mon;
            197int tm_year;
            198int tm_wday;
            199int tm_yday;
            200int tm_isdst;
            201}
            ;
            202int tm_sec 代表目前秒數(shù),正常范圍為0-59,但允許至61秒
            203int tm_min 代表目前分?jǐn)?shù),范圍0-59
            204int tm_hour 從午夜算起的時(shí)數(shù),范圍為0-23
            205int tm_mday 目前月份的日數(shù),范圍01-31
            206int tm_mon 代表目前月份,從一月算起,范圍從0-11
            207int tm_year 從1900 年算起至今的年數(shù)
            208int tm_wday 一星期的日數(shù),從星期一算起,范圍為0-6
            209int tm_yday 從今年1月1日算起至今的天數(shù),范圍為0-365
            210int tm_isdst 日光節(jié)約時(shí)間的旗標(biāo)
            211此函數(shù)返回的時(shí)間日期未經(jīng)時(shí)區(qū)轉(zhuǎn)換,而是UTC時(shí)間。
            212 
            213返回值  返回結(jié)構(gòu)tm代表目前UTC 時(shí)間
            214 
            215范例 
            216
            217#include <time.h>
            218main(){
            219char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
            220time_t timep;
            221struct tm *p;
            222time(&timep);
            223p=gmtime(&timep);
            224printf(“%d%d%d”,(1900+p->tm_year), (1+p->tm_mon),p-
            225
            226來源:(http://blog.sina.com.cn/s/blog_4d9acd450100gff1.html) - C獲取系統(tǒng)時(shí)間的方法(linux)_kuyouqi_新浪博客 
            227>tm_mday);
            228printf(“%s%d;%d;%d\n”, wday[p->tm_wday], p->tm_hour, p
            229
            230->tm_min, p->tm_sec);
            231}

            232 
            233執(zhí)行  2000/10/28 Sat 8:15:38
            234 
            235 
            236
            237 
            238localtime(取得當(dāng)?shù)啬壳皶r(shí)間和日期) 
            239相關(guān)函數(shù) 
            240
            241time, asctime, ctime, gmtime
            242 
            243表頭文件 
            244
            245#include<time.h>
            246 
            247定義函數(shù) 
            248
            249struct tm *localtime(const time_t * timep);
            250 
            251函數(shù)說明 
            252
            253localtime()將參數(shù)timep所指的time_t結(jié)構(gòu)中的信
            254
            255息轉(zhuǎn)換成真實(shí)世界所使用的時(shí)間日期表示方法,然后將結(jié)果
            256
            257由結(jié)構(gòu)tm返回。結(jié)構(gòu)tm的定義請(qǐng)參考gmtime()。此函數(shù)返回
            258
            259的時(shí)間日期已經(jīng)轉(zhuǎn)換成當(dāng)?shù)貢r(shí)區(qū)。
            260 
            261返回值
            262
            263 返回結(jié)構(gòu)tm代表目前的當(dāng)?shù)貢r(shí)間。
            264 
            265范例 
            266
            267#include<time.h>
            268main(){
            269char *wday[]={“Sun”,”Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sat”};
            270time_t timep;
            271struct tm *p;
            272time(&timep);
            273p=localtime(&timep);
            274printf (“%d%d%d ”, (1900+p->tm_year),( l+p->tm_mon), p-
            275
            276>tm_mday);
            277printf(“%s%d:%d:%d\n”, wday[p->tm_wday],p->tm_hour, p
            278
            279->tm_min, p->tm_sec);
            280}

            281 
            282執(zhí)行  2000/10/28 Sat 11:12:22
            283 
            284 
            285
            286 
            287mktime(將時(shí)間結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)換成經(jīng)過的秒數(shù)) 
            288相關(guān)函數(shù) 
            289
            290time,asctime,gmtime,localtime
            291 
            292表頭文件 
            293
            294#include<time.h>
            295 
            296定義函數(shù) 
            297
            298time_t mktime(strcut tm * timeptr);
            299 
            300函數(shù)說明 
            301
            302mktime()用來將參數(shù)timeptr所指的tm結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)
            303
            304換成從公元1970年1月1日0時(shí)0分0 秒算起至今的UTC時(shí)間
            305
            306所經(jīng)過的秒數(shù)。
            307 
            308返回值 
            309
            310返回經(jīng)過的秒數(shù)。
            311 
            312范例 
            313
            314
            315#include<time.h>
            316main()
            317{
            318time_t timep;
            319strcut tm *p;
            320time(&timep);
            321printf(“time() : %d \n”,timep);
            322p=localtime(&timep);
            323timep = mktime(p);
            324printf(“time()->localtime()->mktime():%d\n”,timep);
            325}

            326 
            327執(zhí)行  time():974943297
            328time()->localtime()->mktime():974943297
            329 
            330 
            331
            332 
            333settimeofday(設(shè)置目前時(shí)間) 
            334相關(guān)函數(shù) 
            335
            336time,ctime,ftime,gettimeofday
            337 
            338表頭文件 
            339
            340#include<sys/time.h>
            341#include<unistd.h>
            342 
            343定義函數(shù) 
            344
            345int settimeofday ( const struct tim *tv,const
            346
            347struct timezone *tz);
            348 
            349函數(shù)說明 
            350
            351settimeofday()會(huì)把目前時(shí)間設(shè)成由tv所指的結(jié)構(gòu)
            352
            353信息,當(dāng)?shù)貢r(shí)區(qū)信息則設(shè)成tz所指的結(jié)構(gòu)。詳細(xì)的說明請(qǐng)參
            354
            355考gettimeofday()。注意,只有root權(quán)限才能使用此函數(shù)修改
            356
            357時(shí)間。
            358 
            359返回值 
            360
            361成功則返回0,失敗返回-1,錯(cuò)誤代碼存于errno。
            362 
            363錯(cuò)誤代碼  EPERM 并非由root權(quán)限調(diào)用settimeofday(),
            364
            365權(quán)限不夠。
            366EINVAL 時(shí)區(qū)或某個(gè)數(shù)據(jù)是不正確的,無法正確設(shè)置時(shí)間。
            367 
            368 
            369
            370 
            371time(取得目前的時(shí)間) 
            372相關(guān)函數(shù)
            373
            374ctime,ftime,gettimeofday
            375 
            376表頭文件 
            377
            378#include<time.h>
            379 
            380定義函數(shù) 
            381
            382time_t time(time_t *t);
            383 
            384函數(shù)說明 
            385
            386此函數(shù)會(huì)返回從公元1970年1月1日的UTC時(shí)間從
            387
            3880時(shí)0分0秒算起到現(xiàn)在所經(jīng)過的秒數(shù)。如果t 并非空指針的
            389
            390話,此函數(shù)也會(huì)將返回值存到t指針?biāo)傅膬?nèi)存。
            391 
            392返回值 
            393
            394成功則返回秒數(shù),失敗則返回((time_t)-1)值,錯(cuò)誤
            395
            396原因存于errno中。
            397 
            398范例 
            399
            400#include<time.h>
            401main()
            402{
            403int seconds= time((time_t*)NULL);
            404printf(“%d\n”,seconds);
            405}

            406 
            407執(zhí)行  9.73E+08
            408
            409 
            410
            411本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/haoyuewuwei/archive/2009/08/18/4460914.aspx
            412

            posted on 2010-06-30 15:42 成大才子 閱讀(681) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            <2010年6月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            導(dǎo)航

            統(tǒng)計(jì)

            公告

            關(guān)于更多關(guān)于成大才子,請(qǐng)?jiān)L問http://hi.baidu.com/成大才子

            常用鏈接

            留言簿(1)

            隨筆檔案

            文章分類

            文章檔案

            鏈接

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久久久婷婷| 久久精品国产网红主播| 国产精品日韩欧美久久综合| 国产精品狼人久久久久影院| 亚洲国产精品综合久久网络| 国产麻豆精品久久一二三| 久久精品国产精品亚洲人人 | 久久久久久狠狠丁香| 久久播电影网| 国产91色综合久久免费| 欧美精品福利视频一区二区三区久久久精品 | 日产精品久久久久久久| 国产午夜精品久久久久九九电影 | 精品久久久久久99人妻| 久久国产色av免费看| 久久精品亚洲乱码伦伦中文| 狠狠色婷婷久久一区二区三区| 手机看片久久高清国产日韩| 99久久er这里只有精品18| 久久综合久久综合亚洲| 久久av高潮av无码av喷吹| 久久婷婷国产综合精品| 无码人妻精品一区二区三区久久| 青青青青久久精品国产h| 亚洲国产精品无码久久一线| 久久一区二区三区99| 91精品国产色综久久| 久久久久亚洲AV无码专区体验| 久久国产AVJUST麻豆| 青青青青久久精品国产h久久精品五福影院1421| 久久精品人人做人人爽电影| 久久久久亚洲精品天堂久久久久久 | 精品无码久久久久国产| 日产精品久久久久久久性色| 一本色道久久88精品综合 | 99久久综合国产精品免费| 久久影院午夜理论片无码| 性高湖久久久久久久久AAAAA| 久久精品成人免费国产片小草| 久久久久久免费一区二区三区 | 成人久久精品一区二区三区|