【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)
运行情况