unix C 时间转换多了十个小时

unix C 时间转换多了十个小时

UTC时间 用数字表示 1365593408对应的日期是:2013-04-10 19:30:08

C/C++ code?1234 //这个是vs2008代码     CTime t(1365593408);     CString str=t.Format(L"%Y-%m-%d %H:%M:%S"); str为 2013-04-10 19:30:08

这样的日期
通过下面的方式转换为utc数字时间,与实际的1365593408多了16个小时。

     struct tm _tm;     struct tm *tm_now;        time_t timep;      _tm.tm_year = 2013-1900;     _tm.tm_mon  = 4-1;     _tm.tm_mday = 10;     _tm.tm_hour = 19;      _tm.tm_min  = 30;     _tm.tm_sec  = 8;       timep = mktime(&_tm);     tm_now=gmtime(&timep);     printf("%ld\n"timep);//1365589808
windows下的与linux下的时间机制应该不是一样的。。

用localtime(&timep)

#include <stdio.h> #include <time.h> int main(int argc, char **argv) {     struct tm _tm;     struct tm *tm_now;     _tm.tm_year = 2013-1900;     _tm.tm_mon  = 4-1;     _tm.tm_mday = 10;     _tm.tm_hour = 19;      _tm.tm_min  = 30;     _tm.tm_sec  = 8;       time_t timep = mktime(&_tm);     tm_now=localtime(&timep);     printf("%ld\n", timep);     return 0; }

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有