当前时间戳获取方法
先使用std::chrono
获取当前系统时间,然后将当前系统时间转换为纪元时间std::time_t
类型,之后使用std::localtime
对std::time_t
类型转换为本地时间结构体std::tm
类型,最后使用strftime
对时间进行格式化输出。
其中std::tm
该结构包含了一个被分解为以下各部分的日历时间:
struct tm {
int tm_sec; // 秒,范围从 0 到 59
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
int tm_isdst; // 夏令时
};
而size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)
函数根据format中定义的格式化规则,格式化结构timeptr表示的时间,并把它存储在str中。
size_t strftime(char *str, s