发布于 2012-04-22 19:38:04
3楼
mktime的时候,注意返回的struct tm的时间是否正确,有时候会因为时区的配置导致错误。另外gmtime的时候,注意year是相对于1900年的年数,所以需要用实际的年数减去1900,另外月份是0-11,不是1-12,特别注意这点。
mktime和localtime的区别是mktime是GMT时间,所以和北京时间差8个小时,但是如果你仅仅是在小时的地方直接加上或者减去8,那会导致错误的。所以想要获得本地实际,一定要使用localtime。它们都有线程安全的版本。
刚才看到上面这个信息,不是会gmtime读到的时间也是只所以差8个小时,就是因为我们是北京 时间的缘故吧?