猿问

TimeZoneInfo DST 与 Windows 设置

TimeZoneInfo.SupportsDaylightSavingTime是否反映 Windows 日期和时间设置中“自动调整夏令时”的禁用/启用状态?

我正在尝试在用户无法访问 Windows 的信息亭模式应用程序中复制这些设置,并且我设法使一切正常工作,包括使用 tzutil 设置有或没有 DST 的时区,但是在测试时我注意到某些时区 DST 设置(如莫斯科)与 Windows 不同步。

我们知道俄罗斯几年前就取消了夏令时,所以当我去 Windows 并选择莫斯科作为我的时区时,我看到:

当启动我的测试控制台应用程序(.NET 4.6.1),然后从 GetSystemTimeZones 获取我当前的时区时,我看到它实际上支持 DST:

http://img.mukewang.com/60badafa0001d64e07590189.jpg

如果 SupportsDaylightSavingTime 为 true,是否应该在 Windows 设置中启用切换开关?

我什至通过调用 Win32 函数GetDynamicTimeZoneInformation进行测试,以检查 DynamicDaylightTimeDisabled 是真还是假(尽管我也不完全确定这是否反映了 Windows 中的设置)。我首先尝试使用我的真实时区(赫尔辛基),结果是:

当切换开关打开时,DynamicDaylightTimeDisabledfalse,但当切换关闭时,它变为true。所以我认为它可能确实反映了它?

我试过俄罗斯,DynamicDaylightTimeDisabled 的值为false,所以启用了日光?

如果有帮助,我的 Windows 版本是10.0.17134 Build 17134


慕侠2389804
浏览 188回答 1
1回答
随时随地看视频慕课网APP
我要回答