#include<ctime> //c++ 标準庫沒有提供日期類型,C++ 繼承c的函數與操作
有四個與時間相關的類型:clock_t、time_t、size_t 和 tm。類型 clock_t、size_t 和 time_t 能夠把系統時間和日期表示為某種整數。
結構類型 tm 把日期和時間以 C 結構的形式儲存,tm 結構的定義如下:
struct tm {
int tm_sec; // 秒,正常範圍從 0 到 59,但允許至 61
int tm_min; // 分,範圍從 0 到 59
int tm_hour; // 小時,範圍從 0 到 23
int tm_mday; // 一月中的第幾天,範圍從 1 到 31
int tm_mon; // 月,範圍從 0 到 11
int tm_year; // 自 1900 年起的年數
int tm_wday; // 一周中的第幾天,範圍從 0 到 6,從星期日算起
int tm_yday; // 一年中的第幾天,範圍從 0 到 365,從 1 月 1 日算起
int tm_isdst; // 夏令時
}
示例
#include<iostream>
#include<ctime>
using namespace std;
int main(){
time_t now =time(0);
char * data = ctime(&now)
cout << now <<endl; //輸出一個時間戳 1970 年 1 月 1 日以來經過的秒數。如果系統沒有時間,則傳回 .1。
cout << data <<endl; //字元串時間
//轉換UTC時間
// tm *gmtime(const time_t *time); 該函數傳回一個指向 time 的指針,time 為 tm 結構,用協調世界時(UTC)也被稱為格林尼治标準時間(GMT)表示。
tm * gm =gmtime(&now);
// char * asctime ( const struct tm * time ); 該函數傳回一個指向字元串的指針,字元串包含了 time 所指向結構中存儲的資訊,傳回形式為:day month date hours:minutes:seconds year\n\0。
data = asctime(gm);
cout << data <<endl; //UTC 時間
return 0;
}