Glossary
ISO 8601
O formato de texto inequívoco para data e hora
By Buğra SözeriPublished Updated
ISO 8601 é o padrão internacional para representar datas e horas como texto. Publicado pela Organização Internacional de Padronização em 1988 e revisado periodicamente desde então. A forma canônica para um timestamp completo é:
YYYY-MM-DDTHH:MM:SSZ
— por exemplo, 2026-05-14T14:30:00Z. O T separa as porções de data e hora; o Z indica UTC (Zulu time, na nomenclatura militar). Para zonas que não sejam UTC, o sufixo é o deslocamento com sinal: +03:00 para Istanbul, -05:00 para o Leste dos EUA no inverno.
Por que o ISO 8601 venceu a guerra de formatos:
- Inequívoco.A maioria dos outros formatos de data colidem. “01/02/2026” significa 2 de janeiro nos EUA e 1 de fevereiro em quase todos os outros lugares. ISO 8601 tem uma única interpretação.
- Ordenável como texto. A ordem lexicográfica equivale à ordem cronológica.
2026-05-14é ordenado após2026-05-13por comparação de texto simples. - Independente de localidade. Independente de qual idioma de nome de mês o leitor usa.
- Ano primeiro significa extração trivial. Precisa apenas da data de um timestamp? Pegue os primeiros 10 caracteres.
Linguagens de programação e APIs modernas têm ISO 8601 como padrão. O Date.prototype.toISOString() do JavaScript emite ISO 8601. JSON não tem tipo nativo de data; ISO 8601 é a convenção não declarada. PostgreSQL, MySQL, MongoDB e SQLite aceitam strings ISO 8601 como entradas de data.
RFC 3339 é um subconjunto mais estrito do ISO 8601 usado por protocolos de Internet. A diferença é pequena — RFC 3339 requer o separador T (ISO 8601 permite um espaço) e requer um deslocamento de fuso horário (ISO 8601 permite omiti-lo). Para todos os fins práticos, trate-os como o mesmo padrão.
Numeração de semanas e formatos de data ordinal — os modos menos conhecidos do ISO 8601: o padrão também define um formato de semana-do-ano (2026-W21-5significa “Sexta-feira da semana ISO 21, 2026”) e um formato de data ordinal (2026-141significa “o 141º dia de 2026”). As semanas ISO sempre começam na segunda-feira, e a semana 1 é a semana que contém a primeira quinta-feira do ano — o que às vezes coloca datas de final de dezembro na semana 1 do ano seguinte (por exemplo, 2025-12-29 está na semana 2026-W01). A maioria dos softwares de calendário respeita essa convenção para visualizações numeradas por semana; bancos de dados com funções de data (Postgres EXTRACT(week FROM ...), MySQL WEEK()) expõem modos de semana ISO e não-ISO — escolher o errado é um bug comum de relatórios.
Análise permissiva vs. estrita — a armadilha do JavaScript: new Date("2026-05-14") é analisado como meia-noite UTC (porque strings ISO somente com data são especificadas como UTC). new Date("2026-05-14T00:00:00")sem fuso horário é analisado como meia-noite local (a especificação mudou no ES2016 — antes era UTC). A mesma string pode produzir timestamps diferentes em navegadores diferentes se os mecanismos discordarem sobre qual versão da especificação implementam. Sempre inclua um Z ou deslocamento explícito em strings ISO 8601 armazenadas para evitar isso. Referência: ISO 8601:2019 — Representações de data e hora, RFC 3339.
Experimente a calculadora
Converta entre strings ISO 8601 e valores de época Unix sem surpresas de fuso horário.
Abrir o conversor de timestamp →Frequently asked questions
- O que é ISO 8601?
- ISO 8601 é o padrão internacional para representar datas e horas como texto. Especifica formatos como 2026-05-31 para datas e 2026-05-31T14:30:00Z para data-horas, projetados para serem inequívocos entre localidades e ordenáveis lexicograficamente.
- Por que usar ISO 8601 em vez de formatos específicos de localidade?
- Formatos como 01/02/03 são interpretados de forma diferente por leitores americanos, europeus e asiáticos. A ordem ano-primeiro do ISO 8601 é inequívoca globalmente e ordena corretamente como texto simples, tornando-o ideal para APIs, bancos de dados e arquivos de log.
- O que o sufixo Z significa em uma data-hora ISO 8601?
- Z significa Zulu time, que é UTC+0. Uma data-hora terminando em Z (por exemplo, 2026-05-31T14:30:00Z) é expressa em Tempo Universal Coordenado sem deslocamento. Um deslocamento como +05:30 pode aparecer em vez de Z para indicar um fuso horário local.
- ISO 8601 é o mesmo que RFC 3339?
- Quase — RFC 3339 é um perfil mais estrito do ISO 8601 usado em protocolos de internet. RFC 3339 sempre requer um deslocamento de fuso horário e não permite alguns recursos opcionais do ISO 8601, como datas de semana, tornando-o a escolha mais segura para campos de data-hora em APIs.
Related
Published May 14, 2026 · Last reviewed May 31, 2026