您好,登錄后才能下訂單哦!
歷史上,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.
免責(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)容。