Отражает ли TimeZoneInfo.SupportsDaylightSavingTime статус отключенного / включенного параметра «Настроить для летнего времени автоматически» в настройках даты и времени Windows?
Я пытаюсь скопировать эти настройки в приложении в режиме киоска, где Windows недоступна для пользователя, и мне удалось заставить все работать, включая настройку часовых поясов с или без DST, используя tzutil, но во время тестирования я заметил, что некоторые Настройки DST часовых поясов (как в Москве) не синхронизированы с Windows.
Мы знаем, что Россия избавилась от летнего времени несколько лет назад, поэтому, когда я захожу в Windows и выбираю Москву в качестве часового пояса, я вижу это:
Когда я запускаю тестовое консольное приложение (.NET 4.6.1), а затем извлекаю текущий часовой пояс из GetSystemTimeZones, я вижу, что оно действительно поддерживает DST:
Если SupportsDaylightSavingTime имеет значение true, разве не должен быть включен тумблер в настройках Windows?
Я даже дошел до тестирования, вызвав функцию Win32 GetDynamicTimeZoneInformation , чтобы проверить, является ли DynamicDaylightTimeDisabled истинным или ложным (хотя я не совсем уверен, отражает ли это настройки в Windows). Я впервые попробовал с моим реальным часовым поясом (Хельсинки), и результаты были:
Когда переключатель включен, DynamicDaylightTimeDisabled равен false , но когда переключатель выключен, он становится true . Итак, я предположил, что это, вероятно, отражает это?
Я пытался с Россией, и значение для DynamicDaylightTimeDisabled равно false , поэтому дневной свет включен?
Моя версия Windows 10.0.17134 Сборка 17134 , если это поможет.
Я действительно смущен этим и был бы очень признателен за помощь. Спасибо!