Decisões
ORG-0024 — Tempo e fuso horário
- Status: aceita
- Data: 2026-10-18
- Decide: instante gravado em UTC; o fuso pessoal do usuário é a única lente de exibição
Contexto
Produtos com agenda, prazos e histórico erram horários quando misturam o fuso do servidor, o do navegador e o do dado. O erro aparece em horário de verão, em usuário viajando e em relatório.
Decisão
- Todo instante é gravado em UTC.
- O fuso pessoal do usuário, guardado nas preferências dele, é a única lente de exibição.
- Data civil (sem fuso, como uma data de nascimento ou de vencimento) só quando o dado é civil por natureza, declarado numa ADR da stack.
Alternativas consideradas
| Alternativa | Por que não |
|---|---|
| Fuso do servidor | Por que não: errado para quem está em outro fuso |
| Fuso do navegador | Por que não: muda quando o usuário viaja e difere entre dispositivos |
Consequências
- Telas mostram o mesmo horário em qualquer dispositivo do usuário.
- Toda data civil é uma exceção visível, com ADR.