我在某台计算机上调用函数GetTimeZoneInformation
时遇到问题。
具体来说,我的机器设置为 EST / EDT (禁用DST的自动调整)并且在调用函数后我的TIME_ZONE_INFORMATION
结构已经相同的 StandardName & DaylightName (东部标准时间), StandardBias 和 DaylightBias 均为零(0)且返回值是零(0)。
在另一台机器上(具有相同的EST / EDT区域并禁用自动调整),TIME_ZONE_INFORMATION
结构显示标准名 东部标准时间,但 DaylightName 设置为东部夏令时, DaylightBias 等于-60,返回值是0。
这两台机器都是Windows 7 64位操作系统。
我已检查注册表中存储auto dst adjust设置的位置,并且两台计算机具有相同的值。
这可能是组策略设置的副作用吗?
任何帮助将不胜感激。
感谢。
答案 0 :(得分:0)
对于遇到此问题的任何人,我都发现了一个问题。 打开日期和时间对话框。按更改时区... 按钮。
选择不遵守夏令时的时区。例如夏威夷。按<确定>时区设置对话框,然后按<确定>日期和时间对话框。
再次打开日期和时间对话框,再次打开“时区设置”对话框并选择原始时区(此时您会注意到所有区域都会选中自动调整复选框)观察DST)。
您可以取消选中自动调整夏令时的时钟复选框。
按<确定>时区设置。按确定日期和时间。
执行这些步骤后,对GetTimeZoneInformation
的调用将使用字符串(在我的情况下为“Eastern Standard Time”)和DaylightBias值0来为TIME_ZONE_INFORMATION
struct DaylightName成员分配。
干杯。