用time_t构造时,COleDateTime增加一个小时

时间:2018-12-05 11:56:55

标签: c++ systemtime coledatetime

我有一个for对象,它使用struct tm转换为UNIX time_t,当它传递给mktime的构造方法时,似乎在增加一个小时来解决夏时制(英国时间),即使COleDateTime的文档表明它忽略了DST。

如果我用COleDateTime创建时间并将该对象传递给SYSTEMTIME,问题将消失。有谁知道为什么会这样?这是来自旧代码,因此将所有内容更改为COleDateTime可能不是解决方案。

这是我的示例代码:

SYSTEMTIME

1 个答案:

答案 0 :(得分:2)

回答了我自己的问题:

COleDateTime time_t构造函数在内部使用CTime,无论COleDateTime的文档说什么,考虑了环境变量区域设置和时区。