【C++】日期&時間
C++標準庫沒有提供日期類型,C++繼承了C語言用於日期和時間操作的函數,所以在C++程序中需要引用
<ctime>
頭文件。其中有四個與時間相關的類型:clock_t、time_t、size_t、tm,類型 clock_t、size_t 和 time_t 能夠把系統時間和日期表示爲某種整數。而結構體類型tm則把日期和時間以C結構的形式保存。
struct tm{
int tm_sec; //秒
int tm_min; //分
int tm_hour; //小時
int tm_mday; //一個月中的第幾天
int tm_mon; //月
int tm_year; //自1900年起的年數
int tm_wday; //一週中的第幾天
int tm_yday; //一年中的第幾天
int tm_isdst; //夏令時
}
以下爲C/C++中關於日期和時間的重要函數,所有這些函數都是C/C++標準庫的組成部分
time_t time(time_t *time) 該函數返回系統的當前日曆時間,自 1970 年 1 月 1
日以來經過的秒數。如果系統沒有時間,則返回 .1。char *ctime(const time_t *time)
該返回一個表示當地時間的字符串指針,字符串形式 day month yearhours:minutes:seconds year\n\0。clock_t clock(void);
該函數返回程序執行起(一般爲程序的開頭),處理器時鐘所使用的時間。如果時間不可用,則返回 .1。char * asctime ( const struct tm * time );
該函數返回一個指向字符串的指針,字符串包含了 time 所指向結構中存儲的信息,返回形式爲:day month date hours:minutes:seconds year\n\0。struct tm *localtime(const time_t *time);
該函數返回一個指向表示本地時間的 tm 結構的指針。struct tm *gmtime(const time_t *time);
該函數返回一個指向 time 的指針,time 爲 tm 結構,用協調世界時(UTC)也被稱爲格林尼治標準時間(GMT)表示。time_t mktime(struct tm *time);
該函數返回日曆時間,相當於 time 所指向結構中存儲的時間。double difftime ( time_t time2, time_t time1 );
該函數返回 time1 和 time2 之間相差的秒數。size_t strftime();
該函數可用於格式化日期和時間爲指定的格式。
例子
下面例子獲取當前系統的日期和時間,包括本地時間和協調世界(UTC)
運行情況