Conversor de timestamp epoch e fuso horário
O conversor de epoch traduz timestamp Unix para data legível e o caminho de volta, mostrando o mesmo instante em vários fusos ao mesmo tempo. É a ferramenta que resolve o campo created_at que veio como 1735689600 no meio de um log.
Segundos ou milissegundos
Epoch é a contagem de tempo desde 1 de janeiro de 1970 em UTC. A confusão clássica é a unidade: linguagens como Java e JavaScript trabalham em milissegundos, enquanto Unix, PostgreSQL e a maioria das APIs usam segundos. Um número de dez dígitos costuma ser segundos e um de treze, milissegundos.
O sintoma de errar a unidade é característico. Ler milissegundos como se fossem segundos joga a data para o ano 56 mil; ler segundos como milissegundos joga para janeiro de 1970. Se você viu uma dessas duas datas, o problema é a unidade, não o valor.
Fuso é onde o bug mora
O Brasil não tem horário de verão desde o Decreto 9.772/2019, mas o país continua com mais de um fuso: Brasília em GMT menos 3, Amazonas em GMT menos 4 e Acre em GMT menos 5. A ferramenta mostra o instante convertido em vários fusos lado a lado, incluindo o seu, justamente para tornar visível a diferença que causa o erro de um dia a mais ou a menos.
Vale lembrar que epoch em si não tem fuso: ele é um instante absoluto. O fuso entra só na hora de exibir. Quase todo bug de data nasce de guardar o resultado da exibição em vez do instante, ou de converter duas vezes.
Regras de fuso mudam por decisão política e são distribuídas pelo banco de dados de fusos da IANA, que é atualizado várias vezes por ano. Sistema com tzdata velho erra datas históricas mesmo com o código certo.
Formato de troca
Para trafegar data entre sistemas, o formato recomendado é o da RFC 3339, o perfil do ISO 8601 usado na internet: 2026-08-28T14:30:00-03:00. Ele carrega o deslocamento explícito, o que elimina a ambiguidade que uma string sem fuso sempre traz.
Nada do que você cola aqui sai do seu navegador. O processamento é todo local, em JavaScript, sem envio para servidor, sem log e sem armazenamento.
Perguntas frequentes
Como sei se meu timestamp está em segundos ou milissegundos?
Pelo número de dígitos. Datas atuais em segundos têm dez dígitos e em milissegundos têm treze. Se a conversão devolveu uma data em 1970, o valor provavelmente estava em milissegundos e foi lido como segundos.
O que é o problema do ano 2038?
Sistemas que guardam epoch em inteiro de 32 bits com sinal estouram em 19 de janeiro de 2038, virando para 1901. Sistemas modernos usam 64 bits e não têm esse limite, mas ele ainda aparece em código legado e em bancos com coluna mal dimensionada.
A conversão usa o fuso do meu computador?
O fuso local do seu navegador é um dos exibidos, identificado como tal, mas a conversão também mostra UTC e outros GMT em paralelo para você comparar sem precisar mudar configuração.
O Brasil ainda tem horário de verão?
Não. Foi extinto pelo Decreto 9.772, de 2019. Datas anteriores a essa mudança continuam sujeitas ao horário de verão vigente na época, o que é motivo comum de erro de uma hora em relatório histórico.
Referências
- RFC 3339 (Date and Time on the Internet)O formato de data recomendado para troca entre sistemas, com deslocamento explícito.
- IANA Time Zone DatabaseA fonte das regras de fuso que todo sistema operacional e runtime consome.
- Decreto 9.772/2019O decreto que revogou o horário de verão brasileiro.
- Problema do ano 2038Por que inteiro de 32 bits com sinal estoura em 19 de janeiro de 2038.