概述
时间信息struct tm 和时间戳time_t之间的转换是十分常见的,如要搞清楚他们之间的变换规则,还是应该首先明白他们具体代表的含义。
time_t 时间戳的类型,实际上是一个int64_t的类型,它记录了从1970年01月01日00时00分00秒到现在所经过的秒数
在C语言中我们一般使用time
接口来获得。
#include <ctime>
time_t timestamp = time(NULL);
我们要一串秒数没有意义,我们想得到更详尽的信息,比如现在是哪一年,几月几号,等等,这样我们就需要struct tm
结构。
struct tm {
int tm_sec; /* 秒 – 取值区间为[0,59] */
int tm_min; /* 分 - 取值区间为[0,59] */
int tm_hour;