时差转换的陷阱

来源:互联网 发布:淘宝买烟怎么搜索2017 编辑:程序博客网 时间:2024/04/27 17:38

如果差8个时区,

错误的做法:

time_t rawtime = _mthst.createTime;
tm* timeinfo = new tm;
localtime_s(timeinfo, &rawtime);
timeinfo->tm_year += 1900;
timeinfo->tm_mon += 1;
timeinfo->tm_hour -= 8;

正确的做法

time_t rawtime = _mthst.createTime - 8 * 3600;
tm* timeinfo = new tm;
localtime_s(timeinfo, &rawtime);
timeinfo->tm_year += 1900;
//timeinfo->tm_mday -= 1;
timeinfo->tm_mon += 1;
//timeinfo->tm_hour += 23 - 7;

0 0
原创粉丝点击