Lição 4

ISO 8601 e formatos de tempo em logs

Sufixo `Z`, offsets como `+08:00` e estilos mistos em linhas de log.

ISO 8601 é o formato textual mais comum para datetimes em APIs e configs modernas. Logs costumam misturar ISO, inteiros epoch e strings dependentes de locale no mesmo arquivo.

Blocos de ISO 8601

2024-03-15T14:30:00Z          # UTC
2024-03-15T14:30:00+08:00     # Offset fixo em relação ao UTC
2024-03-15T14:30:00.123Z      # Segundos fracionários
  • T separa data e hora
  • Z ou offset numérico tornam o instante inequívoco
  • Omitir offset e contexto de fuso convida a bugs

Strings estilo RFC 2822 / e-mail

Você pode ver:

Mon, 15 Mar 2024 14:30:00 +0000

Incluem nome do dia da semana e abreviação de mês. Parsers existem na maioria das linguagens, mas são menos uniformes que ISO — valide com cuidado.

Padrões em linhas de log

Combinações típicas:

EstiloExemploNotas
Epoch em segundos1700000000Compacto; precisa conversão para humanos
ISO UTC2023-11-14T22:13:20ZAutoexplicativo
Local + offset2023-11-15 06:13:20 +0800Comum em logs de app
Separado por espaço2023-11-14 22:13:20Ambíguo sem fuso

Ao fazer grep em logs, extraia a parte numérica ou ISO antes de parsear — prefixos (INFO, trace IDs) não fazem parte do datetime.

Conclusão

Prefira ISO com Z ou offset explícito em sistemas novos. Ao ingerir logs legados, identifique o formato por campo antes de converter para epoch para correlação.

Voltar à visão geral do curso