O Windows possui uma enumeração padrão de fusos horários mundiais?

0

Eu quero armazenar uma data e hora em um aplicativo onde a compactação é fundamental. Bem como o datetime, eu quero salvar o fuso horário associado. Enquanto eu poderia apenas armazenar o viés de fuso horário, ou seja, um número no intervalo -660..840 seria melhor armazenar algo que me permitisse identificar o fuso horário pelo nome quando os dados fossem recuperados.

Então, em vez de armazenar -360 (ou seja, GMT-0600), eu poderia distinguir entre Central Standard Time e Central Standard time (Mexico) .

Noto que o registro tem uma enumeração de fusos horários em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\ , que inclui uma chave chamada Index para cada entrada.

  • Este índice é o que eu estou procurando?
  • Está documentado em algum lugar?
  • A enumeração desse índice pode mudar no futuro?
por rossmcm 09.04.2013 / 23:11

1 resposta

0

Eu não confiaria no índice que não mudaria. Embora a lista pareça estável, novos fusos horários podem ser adicionados ou os já existentes removidos, o que poderia mudar os índices. Além disso, é muito provável que essa lista seja diferente entre as diferentes versões do Windows (XP, Vista, 7, 8), portanto, se o seu aplicativo estiver segmentando mais de uma delas, ele terá dificuldades.

Armazene o nome do fuso horário e procure por ele no registro (ou onde quer que seja) para selecionar o fuso horário real necessário.

    
por 09.04.2013 / 23:19