.Net TimeZoneInfo ID - Это зависит от языка Windows?
Я использую метод.net TimeZoneInfo FindSystemTimeZoneById, который, как я понимаю, запрашивает реестр. Являются ли значения строк идентификатора часового пояса, хранящиеся в реестре по адресу "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Time Zone", зависимыми от языка установки Windows на компьютере?
Раздел реестра содержит значение с именем "Отображаемое имя", поэтому было бы целесообразно, чтобы оно относилось к конкретному языку, но я не могу выяснить, так ли это (за исключением установки версии Windows на другом языке). Кто-нибудь может дать мне знать?
2 ответа
С тех пор я понял, что ответ на этот вопрос:
Идентификаторы часовых поясов одинаковы для всех языков Windows. Данные в этих ключах могут отличаться для разных языковых установок. Набор установленных идентификаторов будет отличаться для разных языковых установок.
Это плохо документировано, и я не могу найти ссылку на это, но я сравнил несколько разных версий окон (японский, китайский, французский, немецкий, английский), и это были мои выводы.
"Примечание. Следующий файл реестра часовых поясов предназначен для использования только в английских сборках Windows. Некоторые значения в разделах реестра локализованы. Поэтому эти шаги будут работать только в английских сборках Windows. Чтобы создать файл реестра для -Английские сборки Windows, перейдите в раздел "Как создать файл реестра для неанглийских сборок Windows"
http://support.microsoft.com/kb/914387
Надеюсь, что помогает мат