在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    Linux時(shí)間和日期

    1 兩種時(shí)間

    linux提供了兩種時(shí)間:

    (1)日歷時(shí)間。該值是自 協(xié)調(diào)世界時(shí)(Coordinated Universal Time, UTC)1970年1月1日00::00::00這個(gè)特定時(shí)間以來(lái)所經(jīng)過(guò)的秒數(shù)累計(jì)值。(早期稱(chēng)UTC為格林尼治標(biāo)準(zhǔn)時(shí)間)

    系統(tǒng)基本數(shù)據(jù)類(lèi)型time_t用于保存這種時(shí)間值。

    (2)進(jìn)程時(shí)間。也被成為CPU時(shí)間,用以度量進(jìn)程使用的中央處理器資源。進(jìn)程時(shí)間以時(shí)鐘滴答計(jì)算。調(diào)用sysconf函數(shù)可以獲得每秒得時(shí)間滴答數(shù)。

    系統(tǒng)基本數(shù)據(jù)類(lèi)型clock_t用于保存這種時(shí)間值。

    為了度量一個(gè)進(jìn)程的執(zhí)行時(shí)間,linux系統(tǒng)維護(hù)了3個(gè)進(jìn)程時(shí)間值:

    (1)時(shí)鐘時(shí)間; //進(jìn)程運(yùn)行的時(shí)間總量

    (2)用戶CPU時(shí)間; //執(zhí)行用戶指令所用時(shí)間(用戶態(tài)時(shí)間)

    (3)系統(tǒng)CPU時(shí)間; //執(zhí)行內(nèi)核程序所用時(shí)間(內(nèi)核態(tài)時(shí)間)

    用戶cpu時(shí)間和系統(tǒng)cpu時(shí)間總和稱(chēng)為cpu時(shí)間。

    執(zhí)行time命令,可以取得任一進(jìn)程的時(shí)鐘時(shí)間、用戶時(shí)間和系統(tǒng)時(shí)間。

    2 獲取時(shí)間相關(guān)函數(shù)

    2.1 獲取秒級(jí)時(shí)間函數(shù)

    #include time_t time(time_t *timer);//通過(guò)函數(shù)返回值或者timer 變量均可以獲取到當(dāng)前時(shí)間

    time_t實(shí)際上是一個(gè)長(zhǎng)整型,表示UTC時(shí)間(1970年1月1日0時(shí)0分0秒,Linux系統(tǒng)的Epoch時(shí)間)到當(dāng)前系統(tǒng)時(shí)間的秒數(shù)級(jí)時(shí)間差

    2.2 獲取微秒級(jí)時(shí)間函數(shù)

    #include #include struct timeval { time_t tv_sec; /* seconds */ suseconds_t tv_usec; /* microseconds */};struct timezone{ int tz_minuteswest; /*miniutes west of Greenwich*/ int tz_dsttime; /*type of DST correction*/};//函數(shù)執(zhí)行成功返回0,失敗返回-1. 其中timezone 是時(shí)區(qū)相關(guān)的結(jié)構(gòu)體int gettimeofday(struct timeval *tv, struct timezone *tz);//用來(lái)設(shè)置指定的時(shí)間和時(shí)區(qū)信息int settimeofday(const struct timeval *tv, const struct timezone *gz);

    2.3 獲取納秒級(jí)時(shí)間函數(shù)

    #include /*其中clk_id 用來(lái)指定對(duì)應(yīng)的時(shí)鐘類(lèi)型,不同的類(lèi)型可以用來(lái)獲取不同的時(shí)間值,具體有四種:CLOCK_REALTIME: 系統(tǒng)實(shí)時(shí)時(shí)間,從UTC開(kāi)始計(jì)時(shí),若時(shí)間被用戶更改計(jì)數(shù)時(shí)間相應(yīng)改變;CLOCK_MONOTONIC:從系統(tǒng)啟動(dòng)開(kāi)始計(jì)時(shí),即使用戶更改時(shí)間也沒(méi)有影響;CLOCK_PROCESS_CPUTIME_ID:本進(jìn)程開(kāi)始到執(zhí)行到當(dāng)前程序系統(tǒng)CPU花費(fèi)的時(shí)間;CLOCK_THREAD_CPUTIME_ID:本線程開(kāi)始到執(zhí)行到當(dāng)前程序系統(tǒng)CPU花費(fèi)的時(shí)間*/struct timespec{ time_t tv_sec; //s long tv_nsec; //ns};int clock_gettime(clockid_t clk_id, struct timespec* tp);

    當(dāng)時(shí)鐘類(lèi)型設(shè)置為CLOCK_REALTIME時(shí),clock_gettime函數(shù)提供了與time函數(shù)類(lèi)似的功能,不過(guò)在系統(tǒng)支持高精度值得情況下,clock_gettime可能比time函數(shù)得到更高精度的時(shí)間值。

    舉例:若想獲取從系統(tǒng)啟動(dòng)開(kāi)始計(jì)時(shí),即使用戶更改時(shí)間也沒(méi)有影響的時(shí)間,單位微秒,如下:

    int64_t get_time_point_monotonic() { struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); return ts.tv_sec * 1000000L + ts.tv_nsec / 1000;}

    3 轉(zhuǎn)換時(shí)間相關(guān)函數(shù)

    3.1 將time_t轉(zhuǎn)換為結(jié)構(gòu)體struct tm

    struct tm包含年月日等非常詳細(xì)的域,如下所示:

    #include struct tm{ int tm_sec; //秒 int tm_min; //分 int tm_hour; //時(shí);取值區(qū)間為[0, 23] int tm_mday; //日;取值區(qū)間為[1, 31] int tm_mon; //月份;取值區(qū)間為[0, 11]; 0表示1月份依次遞增到12月份 int tm_year; //年份;其值為1900年至今年數(shù) int tm_wday; //星期;0代表星期天,1代表星期1,以此類(lèi)推 int tm_yday; //日期;0代表1月1日 int tm_isdst; //夏令時(shí)標(biāo)識(shí)符;使用夏令時(shí)為正,不使用t為0,不確定時(shí)為負(fù)*/};

    將time_t轉(zhuǎn)換成struct tm結(jié)構(gòu)體常用的函數(shù)如下:

    #include struct tm* gmtime(const time_t* timep);struct tm* localtime(const time_t* timep);

    gmtime()轉(zhuǎn)換的結(jié)果是UTC對(duì)應(yīng)的信息,而localtime() 函數(shù)轉(zhuǎn)換的結(jié)果是當(dāng)前所在時(shí)區(qū)的信息。

    3.2 將time_t轉(zhuǎn)換成我們習(xí)慣性使用的時(shí)間和日期字符串

    對(duì)應(yīng)轉(zhuǎn)換函數(shù)如下:

    #include char* ctime(time_t* timep);

    3.3 將struct tm 轉(zhuǎn)換成 time_t對(duì)應(yīng)函數(shù)如下:

    #include time_t mktime(struct tm *p_tm);

    3.4 將struct tm轉(zhuǎn)換成我們習(xí)慣性使用的時(shí)間和日期字符串對(duì)應(yīng)函數(shù)如下:

    #include char *asctime(const struct tm *p_tm); //習(xí)慣性字符串 Thu Dec 9 07:13:35 2021

    3.5 將時(shí)間字符串轉(zhuǎn)換成 struct tm格式

    /**************************************** description: 將struct tm 按照指定的format格式轉(zhuǎn)化成字符串** parameter:** *s : 需要被轉(zhuǎn)換的時(shí)間字符串** *format:時(shí)間字符串的格式** *tm:轉(zhuǎn)換后的tm時(shí)間**************************************/char *strptime(const char *s, const char *format, struct tm *tm);

    3.6 將struct tm 按照指定的format格式轉(zhuǎn)化成字符串

    /**************************************** description: 將struct tm 按照指定的format格式轉(zhuǎn)化成字符串** parameter:** *s : 生成的時(shí)間字符串** max: 字符串最大字符數(shù)(即最大可生成的字符數(shù)量)** *format:生成的字符串格式** *tm:需要被轉(zhuǎn)換的tm時(shí)間**************************************/size_t strftime(char *s, size_t max, const char *format,const struct tm *tm);

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月14日 12:26
    下一篇 2022年6月14日 12:26

    相關(guān)推薦

    • ios手游模擬器(手游模擬器ios)

      本文主要講的是ios手游模擬器,以及和手游模擬器ios相關(guān)的知識(shí),如果覺(jué)得本文對(duì)您有所幫助,不要忘了將本文分享給朋友。 哪個(gè)iOS模擬器能多開(kāi)手游賬號(hào)?可以推薦個(gè)好用的模擬器給我嗎…

      2022年11月27日
    • 短視頻策劃內(nèi)容的3個(gè)要點(diǎn)(短視頻策劃內(nèi)容怎么做)

      短視頻在制作時(shí),內(nèi)容框架非常重要。如果直奔主題,然后結(jié)束,聚卓告訴你,這樣的短視頻已經(jīng)過(guò)時(shí)了?,F(xiàn)在的短視頻需要框架的,但不是任何框架,它需要一種易于理解和消化的框架。而且,現(xiàn)在大多…

      2022年11月27日
    • 美團(tuán)第三季度實(shí)現(xiàn)營(yíng)收626億元,即時(shí)配送訂單量增至50億筆

      新京報(bào)訊(記者秦勝南)11月25日,美團(tuán)發(fā)布業(yè)績(jī)公告顯示,第三季度營(yíng)收為626億元,較去年同比增長(zhǎng)28.2%,凈利潤(rùn)為12.2億元。第三季度,美團(tuán)即時(shí)配送訂單數(shù)增長(zhǎng)至50億筆。截至…

      2022年11月27日
    • 存儲(chǔ)過(guò)程語(yǔ)法(sql server存儲(chǔ)過(guò)程語(yǔ)法)

      今天小編給各位分享存儲(chǔ)過(guò)程語(yǔ)法的知識(shí),其中也會(huì)對(duì)sql server存儲(chǔ)過(guò)程語(yǔ)法進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧! oracle存儲(chǔ)過(guò)程基本語(yǔ)法…

      2022年11月26日
    • 個(gè)人怎么做抖音帶貨(個(gè)人做抖音帶貨能賺錢(qián)嗎)

      抖音如今是大家很熟悉的短視頻平臺(tái),不過(guò)現(xiàn)在的抖音卻不只是短視頻那么簡(jiǎn)單,它的功能非常豐富,其中一個(gè)就是可以帶貨,相信很多小伙伴都有在抖音上買(mǎi)過(guò)東西,抖音如今的變現(xiàn)能力也是不容小覷的…

      2022年11月25日
    • 5+3疫情防控從哪天開(kāi)始算(遼寧疫情防控最新政策)

      最近有關(guān)國(guó)內(nèi)各地的疫情大家也都有在持續(xù)關(guān)注,目前國(guó)內(nèi)各地疫情隔離時(shí)間也根據(jù)二十條防控措施有了新的調(diào)整。那么,5+3疫情防控從哪天開(kāi)始算?對(duì)于密接的5+3隔離時(shí)間計(jì)算大家還是比較關(guān)心…

      2022年11月25日
    • 藍(lán)碼怎么變綠碼需要幾天(藍(lán)碼怎么變綠碼需要幾天)

      大家都知道健康碼的顏色有紅碼、綠碼、黃碼,近日湖南健康碼上線“藍(lán)碼”,不少小伙伴發(fā)現(xiàn)自己健康碼變藍(lán)了,都想趕緊恢復(fù)綠碼,那么藍(lán)碼怎么變綠碼需要幾天?下面小編為大家?guī)?lái)藍(lán)碼變綠碼需要…

      2022年11月25日
    • 拼多多百億補(bǔ)貼預(yù)售一般多久發(fā)貨(拼多多百億補(bǔ)貼預(yù)售)

      拼多多里面有很多優(yōu)惠活動(dòng),其中百億補(bǔ)貼活動(dòng)非常火爆,一些里面的東西價(jià)格比別的平臺(tái)便宜,質(zhì)量也有保障,還有預(yù)售的活動(dòng),那么拼多多百億補(bǔ)貼預(yù)售一般多久發(fā)貨?下面小編為大家?guī)?lái)拼多多百億…

      2022年11月25日
    • 北京疫情多久能解除封控(北京疫情還要多久結(jié)束)

      最近一段時(shí)間北京疫情形勢(shì)備受關(guān)注,馬上就要到年底了,不少人想要去北京辦事,。都非常關(guān)注當(dāng)?shù)匾咔橄嚓P(guān)政策,那么 北京疫情多久能解除封控?北京疫情什么時(shí)候恢復(fù)正常生活?下面小編為大家?guī)А?/p>

      2022年11月25日
    • 小紅書(shū)平臺(tái)的一些機(jī)制及玩法詳解(小紅書(shū)玩法有哪些)

      關(guān)于小紅書(shū) 一:小紅書(shū)平臺(tái)的一些機(jī)制 1. 筆記內(nèi)容的CES評(píng)分機(jī)制 2. 筆記流量入口與長(zhǎng)尾效應(yīng) 二:小紅書(shū)優(yōu)質(zhì)筆記的特點(diǎn)(分維度、類(lèi)型分析) 1.筆記的本身架構(gòu)組成 維度 2.…

      2022年11月25日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息