溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Unix中的時(shí)間整理

發(fā)布時(shí)間:2020-06-27 11:33:04 來源:網(wǎng)絡(luò) 閱讀:348 作者:brigh_tsun 欄目:系統(tǒng)運(yùn)維

歷史上,Unix系統(tǒng)中使用過兩種不同類型的時(shí)間值:

1、日歷時(shí)間。該值是自UTC(或格林尼治標(biāo)準(zhǔn)時(shí)間)以來經(jīng)歷過的描述累計(jì)值。對(duì)應(yīng)的系統(tǒng)基本數(shù)據(jù)類型是time_t.

2、進(jìn)程時(shí)間。又稱CPU時(shí)間,用以度量進(jìn)程使用的中央處理器資源。用時(shí)鐘滴答數(shù)來表示,對(duì)應(yīng)的系統(tǒng)基本數(shù)據(jù)類型是clock_t.


另外,unix系統(tǒng)中還定義了以下幾種表示時(shí)間的數(shù)據(jù)類型:

struct tm : 格式化的分解的時(shí)間信息,具有多個(gè)字段,包括秒、分、時(shí)、日期、月份、年份、星期、一年中的第幾天等。

struct timeval : 由秒和微秒兩個(gè)字段,共同表示一個(gè)時(shí)間,最高精度時(shí)微秒。

struct timespec : 有秒和納秒兩個(gè)字段,分別以兩種精度表示時(shí)間。


表示時(shí)間的基本數(shù)據(jù)類型time_t 、clock_t 和其它幾種表示時(shí)間的結(jié)構(gòu)體之間可以通過如下的系統(tǒng)調(diào)用函數(shù)聯(lián)系起來:

time_t time(time_t *t);
int clock_gettime(clockid_t clk_id, struct timespec *tp);

int gettimeofday(struct timeval *tv, struct timezone *tz);

初次之外,還有如下一些庫(kù)函數(shù)可以使用:

transform date and time to broken-down time  or ASCII

 #include <time.h>

       char *asctime(const struct tm *tm);
       char *asctime_r(const struct tm *tm, char *buf);

       char *ctime(const time_t *timep);
       char *ctime_r(const time_t *timep, char *buf);

       struct tm *gmtime(const time_t *timep);
       struct tm *gmtime_r(const time_t *timep, struct tm *result);

       struct tm *localtime(const time_t *timep);
       struct tm *localtime_r(const time_t *timep, struct tm *result);

       time_t mktime(struct tm *tm);

使用場(chǎng)合:

1.文件的st_atime、st_mtime、st_ctime都是使用數(shù)據(jù)類型struct timespec.

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI