linux下的時間函式及

2021-05-27 09:39:34 字數 2373 閱讀 3292

1.

可以用

localtime

函式分別獲取年月日時分秒的數值。

在所有的unix下,都有個time()的函式;

格式:time_t time(time_t *t);

這個函式會傳回格林尼治時間,如果t是non-null,它將會把時間值填入t中。

#include #include int main()

說明:

time

函式讀取現在的時間

(國際標準時間,而非北京時間

),然後傳值給

now;

localtime()函式將國際標準時間轉化為本地時間(本地所設地區),返回結果給timenow;

asctime()函式將tm結構體型別的轉化為字元;

2. 可以用gettimeofday()函式獲取精確時間(精確到毫秒)

對某些需要較高精準度的需求,linux提供了gettimeofday()。

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

gettimeofday()會把目前的時間有tv所指的結構返回,當地時區的資訊則放到tz所指的結構中。

示例:

#include #include #include bool time_subtract(struct timeval * result, struct timeval * x, struct timeval * y)

int main()

gettimeofday(&stop, 0);

time_subtract(&diff, &start, &stop);

printf("共用時%d ms\n",diff.tv_usec);

}

常用的資料型別:

time_t            一般用來儲存國際化時間,用time()函式可直接獲取到;

結構體:tm                 一般用來儲存本地時間,可通過將time_t格式轉化而來;

結構體:time_val        一般用來儲存計數型的時間(秒/毫秒);

常用的時間函式及標頭檔案:

包含標頭檔案:#include

1. 功能:將時間轉化為字元

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);

2. 功能:將time_t型別轉為tm結構體

struct tm *gmtime(const time_t *timep);

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

3. 功能:將國際時間轉為本地時間

struct tm *localtime(const time_t *timep);

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

time_t mktime(struct tm *tm);

包含標頭檔案:#include

//獲取時間

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

//設定時間

int settimeofday(const struct timeval *tv, const struct timezone *tz);

附加:

1. 結構體:tm

struct tm

; tm_sec表「秒」數,在[0,61]之間,多出來的兩秒是用來處理跳秒問題用的。

tm_min表「分」數,在[0,59]之間。

tm_hour表「時」數,在[0,23]之間。

tm_mday表「本月第幾日」,在[1,31]之間。

tm_mon表「本年第幾月」,在[0,11]之間。

tm_year要加1900表示那一年。

tm_wday表「本第幾日」,在[0,6]之間。

tm_yday表「本年第幾日」,在[0,365]之間,閏年有366日。

tm_isdst表是否為「日光節約時間」。

2. 結構體:timeval

struct timeval; 

tv_sec表示從凌晨開始算起的秒數;

tv_usec表示從凌晨算起的毫秒數;

Linux下的時間結構及函式

1 時間型別。linux下常用的時間型別有4個 time t,struct timeb,struct timeval,struct timespec,clock t,struct tm.1 time t是乙個長整型,一般用來表示用1970年以來的秒數.該型別定義在中.一般通過 time t time...

linux下獲取時間函式

1 gettimeofday 獲取的時間為從1970 1 1 00 00 00到目前為止的時間。當使用該函式獲取ms級別時間時,需注意溢位問題。1 首先來看一下函式原型 int gettimeofday struct timeval tv,struct timezone tz 其中結構體struct...

linux下獲取系統時間及顯示

include size t strtime char buf,size t max const char format,const struct tm tm strtime函式將獲取的放在tm中的時間引數,按照format設定的時間顯示模式,轉化成字串放到buf快取中。max為buf最大長度。fo...