C 標準庫中的時間函式

2021-09-24 10:42:14 字數 1462 閱讀 8263

c++語言中的標頭檔案,也就是c語言的中提供時間函式。其中主要是3中資料結構:time_t,clock_t和struct tm。其實time_t和clock_t都是乙個整形數,time_t記錄的是秒數,而在windows下,clock_t儲存的是毫秒數。

一、獲取時間

1、clock_t clock ( void );

作用:獲取程式執行的clock數。在windows下,每秒有1000個clock,也就是clock的精度是1毫秒。

2、time_t time ( time_t * timer );

作用:可以得到從2023年1月1日到現在的秒數。

二、time_t型別的比較

1、double difftime ( time_t time2, time_t time1 );

作用:返回(time2-time1)。不要看他返回的是double,精度最多也就是秒了。

三、struct tm和time_t之間的轉化

1、struct tm * gmtime ( const time_t * timer );

作用:將timer指向的time_t型別變數轉化為struct tm結構的國際統一時。國際統一時就是世界統一認可的乙個時間。

注意:返回的指標指向的是gmtime函式內的靜態資料,也就是說,下次呼叫函式會將原來的結果覆蓋,所以建議將結果拷貝到自己定義的tm變數內。

2、struct tm * localtime ( const time_t * timer );

作用:將timer指向的time_t型別變數轉化為struct tm結構的本地時間。也就是windows右下角的時間。

注意:返回的指標指向的是gmtime函式內的靜態資料,也就是說,下次呼叫函式會將原來的結果覆蓋,所以建議將結果拷貝到自己定義的tm變數內。

3、time_t mktime ( struct tm * timeptr );

作用:將struct tm結構轉化為time_t型別。

四、將struct tm和time_t轉化為字串形式

1、char * asctime ( const struct tm * timeptr );

作用:將struct tm結構轉化為字串,格式是「www mmm dd hh:mm:ss yyyy」,老外的時間記錄方式太怪了。

2、char * ctime ( const time_t * timer );

作用:將time_t型別資料,轉化為字串,格式是「www mmm dd hh:mm:ss yyyy」。

3、size_t strftime ( char * ptr, size_t maxsize, const char * format, const struct tm * timeptr );

作用:將struct tm結構的資料轉化為定製的形式字串。

posted @

2011-10-18 19:52

夜塔 閱讀(

...)

編輯收藏

C 標準庫中的時間函式

c 語言中的標頭檔案,也就是c語言的中提供時間函式。其中主要是3中資料結構 time t,clock t和struct tm。其實time t和clock t都是乙個整形數,time t記錄的是秒數,而在windows下,clock t儲存的是毫秒數。一 獲取時間 1 clock t clock v...

標準c 的時間函式

標準c 關於時間最重要的型別有兩個std time t std tm 基礎知識 time t是乙個時間戳 單位秒 tm 是乙個結構 time t轉tm的函式有 extern struct tm gmtime const time t timer throw 轉成國際時間 extern struct ...

go 常用標準庫 時間函式

格式time fmt為 2006 01 02 15 04 05 time fmt 2006 01 02 15 04 05 獲取當前時間 2022 05 11 13 06 16.1146258 0800 cst m 0.016836601 now time.now 前面定義time fmt這樣的時間格...