Instantes e horários de parede
Um instante é único. Um horário local pode ser ambíguo porque combina campos de calendário com regras regionais. Converter um timestamp para um fuso é determinístico; converter uma data local para timestamp pode exigir uma escolha.
Lacunas e sobreposições
Quando o relógio avança, alguns horários locais nunca ocorrem. Quando volta, um intervalo ocorre duas vezes com offsets UTC diferentes. Interfaces de agendamento devem rejeitar lacunas e perguntar qual offset usar em sobreposições.
Armazene a informação correta
Para um evento passado, guarde o instante. Para um evento recorrente futuro, talvez seja necessário guardar também o fuso IANA, pois o offset pode mudar. Um offset fixo não representa todas as regras regionais.
Testes recomendados
Teste datas antes e depois da transição, viradas de dia em UTC e diferenças entre versões da base de fusos no cliente e no servidor. Não use o offset atual para inferir o ano inteiro.
Exemplos da mudança de horário em Nova York
| Horário local | Situação | Ação necessária |
|---|---|---|
| 2024-03-10 02:30 | O avanço do relógio pula esse horário | Escolher um horário existente |
| 2024-11-03 01:30 | O horário ocorre duas vezes | Escolher UTC−04:00 ou UTC−05:00 |
| 2024-11-03 03:00 | O horário ocorre uma vez | Converter normalmente |
A primeira ocorrência de 01:30 corresponde a 2024-11-03T05:30:00Z; a segunda, a 2024-11-03T06:30:00Z. Ambas são válidas. Escolher uma sem confirmação pode deslocar um compromisso em uma hora. Teste as duas opções em data para timestamp ou no conversor entre dois fusos.
PST, PDT e um fuso com nome
PST significa UTC−08:00. Los Angeles usa PDT, UTC−07:00, durante o horário de verão. Pequim mantém atualmente UTC+08:00 o ano inteiro. A diferença costuma ser de 16 horas no horário padrão e 15 durante o horário de verão.
Em 13 de outubro de 2026 às 09:26 em Pequim, Los Angeles marca 12 de outubro às 18:26. America/Los_Angeles aplica a regra daquela data. Usar PST o ano inteiro produziria 17:26.
Planejar um compromisso futuro
Informe a data real do compromisso e escolha fusos com nome. Confira se o destino cai no dia anterior ou seguinte. Para reuniões recorrentes, mantenha o fuso de origem junto ao horário. As regras podem mudar por decisões oficiais e dependem dos dados disponíveis no navegador.
Exibir um timestamp em outro fuso e converter um horário local entre fusos são operações diferentes. A segunda precisa interpretar primeiro o relógio de origem.