TimeZoneInfo DST 与 Windows 设置
TimeZoneInfo DST vs Windows settings
TimeZoneInfo.SupportsDaylightSavingTime是否在Windows日期和时间设置中反映了"Adjust for daylight saving time automatically"的disabled/enabled状态?
我正在尝试在用户无法访问 Windows 的自助服务终端模式应用程序中复制这些设置,并且我已经设法让一切正常工作,包括使用 tzutil 设置带或不带 DST 的时区,但是在测试时我注意到一些时区 DST 设置(如莫斯科)与 Windows.
不同步
我们知道俄罗斯在几年前取消了夏令时,所以当我去 Windows 并选择莫斯科作为我的时区时,我看到了这个:
当启动我的测试控制台应用程序 (.NET 4.6.1) 时,然后从 GetSystemTimeZones 获取我当前的时区,我发现它确实支持 DST:
如果 SupportsDaylightSavingTime 为真,是否应该在 Windows 设置中启用切换开关?
我什至通过调用 Win32 函数 GetDynamicTimeZoneInformation 来测试 DynamicDaylightTimeDisabled 是真还是假(尽管我不完全确定这是否反映了 Windows 中的设置).我首先尝试使用我的真实时区(赫尔辛基),结果是:
当切换开关打开时,DynamicDaylightTimeDisabled 为 false,但当切换关闭时,它变为 true 。所以我认为它可能确实反映了它?
我在俄罗斯试过,DynamicDaylightTimeDisabled 的值为 false,因此启用了日光?
我的 Windows 版本是 10.0.17134 Build 17134 如果有帮助的话。
我对此真的很困惑,非常感谢您的帮助。谢谢!
原因,正如 glenebob 在他的评论中指出的那样,是因为在 2014 年俄罗斯决定不再使用 DST 之后没有生效的调整规则。
俄罗斯时区支持夏令时,但仅限于 2014 年之前,所以我真正需要做的是调用 TimeZoneInfo.GetAdjustmentRules 来确定夏令时是否有效是否在这个时间点。
我正在开发的应用程序也是使用 UWP API 的,它实际上缺少此方法,但这是一个完全不同的问题...
我在那里白费了一段时间...我们生活和学习...
更新:我决定不通过检查调整规则来复制Windows。太多的努力和复杂性没有什么价值。不,谢谢!
TimeZoneInfo.SupportsDaylightSavingTime是否在Windows日期和时间设置中反映了"Adjust for daylight saving time automatically"的disabled/enabled状态?
我正在尝试在用户无法访问 Windows 的自助服务终端模式应用程序中复制这些设置,并且我已经设法让一切正常工作,包括使用 tzutil 设置带或不带 DST 的时区,但是在测试时我注意到一些时区 DST 设置(如莫斯科)与 Windows.
不同步我们知道俄罗斯在几年前取消了夏令时,所以当我去 Windows 并选择莫斯科作为我的时区时,我看到了这个:
当启动我的测试控制台应用程序 (.NET 4.6.1) 时,然后从 GetSystemTimeZones 获取我当前的时区,我发现它确实支持 DST:
如果 SupportsDaylightSavingTime 为真,是否应该在 Windows 设置中启用切换开关?
我什至通过调用 Win32 函数 GetDynamicTimeZoneInformation 来测试 DynamicDaylightTimeDisabled 是真还是假(尽管我不完全确定这是否反映了 Windows 中的设置).我首先尝试使用我的真实时区(赫尔辛基),结果是:
当切换开关打开时,DynamicDaylightTimeDisabled 为 false,但当切换关闭时,它变为 true 。所以我认为它可能确实反映了它?
我在俄罗斯试过,DynamicDaylightTimeDisabled 的值为 false,因此启用了日光?
我的 Windows 版本是 10.0.17134 Build 17134 如果有帮助的话。
我对此真的很困惑,非常感谢您的帮助。谢谢!
原因,正如 glenebob 在他的评论中指出的那样,是因为在 2014 年俄罗斯决定不再使用 DST 之后没有生效的调整规则。
俄罗斯时区支持夏令时,但仅限于 2014 年之前,所以我真正需要做的是调用 TimeZoneInfo.GetAdjustmentRules 来确定夏令时是否有效是否在这个时间点。
我正在开发的应用程序也是使用 UWP API 的,它实际上缺少此方法,但这是一个完全不同的问题...
我在那里白费了一段时间...我们生活和学习...
更新:我决定不通过检查调整规则来复制Windows。太多的努力和复杂性没有什么价值。不,谢谢!