C 日期 時間

2022-02-20 17:08:40 字數 2011 閱讀 9653

c++ 標準庫沒有提供所謂的日期型別。c++ 繼承了 c 語言用於日期和時間操作的結構和函式。為了使用日期和時間相關的函式和結構,需要在 c++ 程式中引用 標頭檔案。

有四個與時間相關的型別:clock_t、time_t、size_ttm。型別 clock_t、size_t 和 time_t 能夠把系統時間和日期表示為某種整數。

結構型別tm把日期和時間以 c 結構的形式儲存,tm 結構的定義如下:

struct tm

下面是 c/c++ 中關於日期和時間的重要函式。所有這些函式都是 c/c++ 標準庫的組成部分,您可以在 c++ 標準庫中檢視一下各個函式的細節。

序號函式 & 描述

1time_t time(time_t *time);該函式返回系統的當前日曆時間,自 1970 年 1 月 1 日以來經過的秒數。如果系統沒有時間,則返回 .1。

2char *ctime(const time_t *time);該返回乙個表示當地時間的字串指標,字串形式 day month year hours:minutes:seconds year\n\0。

3struct tm *localtime(const time_t *time);該函式返回乙個指向表示本地時間的tm結構的指標。

4clock_t clock(void);該函式返回程式執行起(一般為程式的開頭),處理器時鐘所使用的時間。如果時間不可用,則返回 .1。

5char * asctime ( const struct tm * time );該函式返回乙個指向字串的指標,字串包含了 time 所指向結構中儲存的資訊,返回形式為:day month date hours:minutes:seconds year\n\0。

6struct tm *gmtime(const time_t *time);該函式返回乙個指向 time 的指標,time 為 tm 結構,用協調世界時(utc)也被稱為格林尼治標準時間(gmt)表示。

7time_t mktime(struct tm *time);該函式返回日曆時間,相當於 time 所指向結構中儲存的時間。

8double difftime ( time_t time2, time_t time1 );該函式返回 time1 和 time2 之間相差的秒數。

9size_t strftime();該函式可用於格式化日期和時間為指定的格式。

當前日期和時間

下面的例項獲取當前系統的日期和時間,包括本地時間和協調世界時(utc)。

#include #include using namespace std;

int main( )

當上面的**被編譯和執行時,它會產生下列結果:

使用結構 tm 格式化時間

tm結構在 c/c++ 中處理日期和時間相關的操作時,顯得尤為重要。tm 結構以 c 結構的形式儲存日期和時間。大多數與時間相關的函式都使用了 tm 結構。下面的例項使用了 tm 結構和各種與日期和時間相關的函式。(以下是vs2017 上使用的安全方法)

#include #include using namespace std;

#define timesize 26

int main()

/*輸出結果:

local time: sat feb 16 21:44:43 2019

timestamp: 1550324683

年: 2019

月: 2

日: 16

*/

C 日期 時間

c 標準庫沒有提供所謂的日期型別。c 繼承了 c 語言用於日期和時間操作的結構和函式。為了使用日期和時間相關的函式和結構,需要在 c 程式中引用 標頭檔案。有四個與時間相關的型別 clock t time t size t和tm。型別 clock t size t 和 time t 能夠把系統時間和...

C 日期 時間

c 標準庫沒有提供日期型別,c 繼承了c語言用於日期和時間操作的函式,所以在c 程式中需要引用標頭檔案。其中有四個與時間相關的型別 clock t time t size t tm,型別 clock t size t 和 time t 能夠把系統時間和日期表示為某種整數。而結構體型別tm則把日期和時...

C 日期 時間

c 標準庫沒有提供所謂的日期型別。c 繼承了 c 語言用於日期和時間操作的結構和函式。為了使用日期和時間相關的函式和結構,需要在 c 程式中引用 標頭檔案。有四個與時間相關的型別 clock t time t size t和tm。型別 clock t size t 和 time t 能夠把系統時間和...