C++--localtime与时区

    localtime的功能:Converts a time value and corrects for the local time zone(转换一个时间值并将其修正为本地时区).

    如time_t=1249056000对应的天数为:1249056000/86400=14456又2/3天.

    这个2/3就是16:00了.按照1970年+14456又2/3天.应该是2009-07-31 16:00:00, 但是用localtime后显示时间为2009-08-01  00:00:00,为啥捏?

    因为我的本机设置的时区为东8区。time_t的相对的1970年1月1日0点是指的UTC时区,而localtime得出的结果是指东八区的时间,因此要在1970年+14456又2/3天后,再加上8个小时。

   


版权声明:本文为totuswhf原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。