c 关于时间的库函数 time() gmtime() mktime() localtime()

1、数据结构

      time_t 整形;在linux下为64位整型,在windows下为64位整型,可开启宏_USE_32BIT_TIME_T强制解释为32位整型。

      struct tm {

        int tm_sec;     /* seconds after the minute - [0,59] */

        int tm_min;     /* minutes after the hour - [0,59] */

        int tm_hour;    /* hours since midnight - [0,23] */

        int tm_mday;    /* day of the month - [1,31] */

        int tm_mon;     /* months since January - [0,11] */

        int tm_year;    /* years since 1900 */

        int tm_wday;    /* days since Sunday - [0,6] */

        int tm_yday;    /* days since January 1 - [0,365] */

        int tm_isdst;   /* daylight savings time flag */

        };//注意 tm_mon tm_year tm_wday tm_yday 不是从一开始,注意处理

2、转换

      time => time_t (UTC)

      gmtime; time_t(UTC)=>tm 时间上限是2038年或者3000年(取决于 time_t 32位还是64位)

      mktime; tm(calendar)=>time_t

      _mkgmtime; tm(UTC)=>time_t

      localtime;time_t(UTC)=>tm(calendar)

//这些函数不是线程安全的,由于共享tm,可能发生覆盖问题

reference:

https://docs.microsoft.com/zh-cn/previous-versions/1f4c8f33(v=vs.110)?redirectedfrom=MSDN

https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-6.0/aa272948%28v%3dvs.60%29

https://docs.microsoft.com/zh-cn/previous-versions/w4ddyt9h%28v%3dvs.120%29

猜你喜欢

转载自blog.csdn.net/beebeeyoung/article/details/103174535
今日推荐