time_t
用来存储从1970年到现在经过了多少秒,要想更精确一点,可以用结构struct timeval,它精确到微秒。
tm结构
在time.h中的定义如下:
struct tm {int tm_sec; // 秒,正常范围从 0 到 59,但允许至 61int tm_min; // 分,范围从 0 到 59int tm_hour; // 小时,范围从 0 到 23int tm_mday; // 一月中的第几天,范围从 1 到 31int tm_mon; // 月,范围从 0 到 11int tm_year; // 自 1900 年起的年数int tm_wday; // 一周中的第几天,范围从 0 到 6,从星期日算起int tm_yday; // 一年中的第几天,范围从 0 到 365,从 1 月 1 日算起int tm_isdst; // 夏令时};
ctime()
函数:ctime (const time_t * timer);
作用,将time_t型的时间转换为易读的string,转换后的string长度为25. 其格式为:
Www Mmm dd hh:mm:ss yyyy
asctime()
char *asctime(const struct tm *timeptr)返回一个指向字符串的指针,它代表了结构struct timeptr的日期和时间。
timeptr是指向 tm 结构的指针,包含了分解为如下各部分的日历时间
该函数返回一个 C 字符串,包含了可读格式的日期和时间信息Www Mmm dd hh:mm:ss yyyy,其中,Www表示星期几,Mmm是以字母表示的月份,dd表示一月中的第几天,hh:mm:ss表示时间,yyyy表示年份。
asctime()和ctime()区别:
asctime是把时间换成ascii码。
ctime是把时间转换bai成字符串。
输出的样子相同,但本质不同,一个是ascii码,一个是字符串。
gmtime()
C 库函数struct tm *gmtime(const time_t *timer)使用timer的值来填充tm结构,并用协调世界时(UTC)也被称为格林尼治标准时间(GMT)表示。
gmtime()和localtime()区别:localtime()为本地时间,gmtime为GMT时间。其他一样。
如果觉得《C++ 关于日期时间(四)asctime/ctime/gmtime/time_t/tm》对你有帮助,请点赞、收藏,并留下你的观点哦!