Я хочу сохранить дату и время в приложении, где компактность имеет первостепенное значение. Помимо даты и времени, я хочу сохранить соответствующий часовой пояс. Хотя я мог бы просто сохранить смещение часового пояса - то есть число в диапазоне -660 ... 840, было бы лучше сохранить что-то, что позволило бы мне идентифицировать часовой пояс по имени при получении данных.

Поэтому вместо того, чтобы хранить -360 (то есть GMT-0600), я мог бы различать Central Standard Time и Central Standard time (Mexico) .

Я заметил, что в реестре есть перечисление часовых поясов в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\ которое включает в себя ключ Index для каждой записи.

  • Этот индекс, что я после?
  • Это где-то задокументировано?
  • Может ли перечисление этого индекса изменяться в будущем?

1 ответ1

0

Я бы не стал полагаться на то, что индекс не меняется. Хотя список выглядит стабильным, могут быть добавлены новые часовые пояса или удалены существующие, что может сместить индексы вокруг. Кроме того, весьма вероятно, что этот список отличается в разных версиях Windows (XP, Vista, 7, 8), поэтому, если ваше приложение предназначено для более чем одной из них, оно может столкнуться с трудностями.

Сохраните имя часового пояса, а затем найдите его в реестре (или где-либо еще), чтобы выбрать нужный часовой пояс.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .