GetTimeZoneInformation 函数返回具有"incorrect"值的结构

GetTimeZoneInformation function returns struct with "incorrect" values

本文关键字:incorrect 结构 函数 返回 GetTimeZoneInformation      更新时间:2023-10-16

我在某个计算机上调用函数GetTimeZoneInformation有问题。

具体来说,我的计算机设置为 est/edt (DST的自动调整)),在调用该功能后,我的TIME_ZONE_INFORMATION struct具有相同的 standardName & daylightName (东部标准时间) standardbias and daylightBias 均为零(0)和返回值为零(0)。

在另一台计算机上(使用相同的EST/EDT区域和禁用的自动调整)TIME_ZONE_INFORMATION结构显示 standardName Eastern Standard Standard Time ,但是 daylightName 设置为东部日光时间,而 daylightbias 等于-60,返回值为0。<<<<<<

这两台机器都是Windows 7 64bit OS。

我已经检查了存储自动DST调整设置的注册表,并且两台机器都具有相同的值。

这可能是团体策略设置的副作用吗?

任何帮助将不胜感激。

谢谢。

对于任何遇到此问题的人,我都发现了一个修复程序。打开日期和时间对话。按更改时区... 按钮。

选择一个时区,该时区不会观察到夏令时。例如夏威夷。按OK进行时区设置对话框,然后按日期和时间对话框。

再次打开日期和时间对话框,再次打开"时区设置"对话框,然后选择您的原始时区(此时您会注意到,请注意检查所有区域的自动调整复选框观察DST)。

您可以取消选中自动调整时钟以保存日光复选框。

按确定为时区设置。按确定日期和时间

在这些步骤之后,呼叫GetTimeZoneInformation将带有字符串的TIME_ZONE_INFORMATION struct daylightName成员,在我的情况下,"东部标准时间"和日光bias值为0。

欢呼。