YamlBox

Web e codificação · 5 min de leitura

Conversor de carimbo de data/hora: época sem suposições

O tempo Unix é o número de segundos desde 1970-01-01T00:00:00 UTC - um único número inteiro que todo sistema entende e quase todo desenvolvedor interpretou mal pelo menos uma vez. Um conversor de carimbo de data/hora transforma esse número inteiro em algo que um ser humano pode verificar e verificar novamente, o que geralmente é a maneira mais rápida de responder à pergunta com a qual toda investigação de log começa: quando isso realmente aconteceu?

Atualizado

Segundos ou milissegundos: o bug que continua acontecendo

Dez dígitos são segundos; treze são milissegundos. Se errar, a data chegará a 1970 ou daqui a milhares de anos – um erro que é instantaneamente reconhecível depois de visto, e é exatamente por isso que vale a pena reconhecê-lo. O `Date.now()` do JavaScript retorna milissegundos, enquanto a maioria das linguagens de servidor e bancos de dados armazenam segundos, portanto, a fronteira entre um navegador e um API é onde o erro geralmente é cometido.

                1760000000     → 2025-10-09 09:33:20 UTC   (seconds)
1760000000000  → 2025-10-09 09:33:20 UTC   (milliseconds)
              

UTC é a verdade; a hora local é uma escolha de apresentação

Um valor de época não é ambíguo porque é UTC por definição. A confusão aparece quando você o exibe: o mesmo instante é um horário diferente em cada fuso horário, e um ticket de suporte que diz “aconteceu às 15h” só é útil com um fuso horário anexado. Armazene e transmita a época ou ISO 8601 UTC, converta para a hora local para exibição e sempre inclua a zona em qualquer coisa que um ser humano leia.

Onde os carimbos de data/hora aparecem no trabalho real

  • Linhas de registro - a maneira mais rápida é converter a coluna de época em datas legíveis antes de você ler o significado.
  • API respostas — `created_at`, `expires_at` e cabeçalhos de cache, todos mais úteis depois de convertidos.
  • JWT reivindicações — `exp` e `iat` são segundos de época, e é por isso que uma verificação de expiração é uma subtração.
  • Linhas do banco de dados – comparar uma época armazenada com a atual é aritmética; compará-lo com a “terça-feira passada” precisa de uma conversão.

Um carimbo de data/hora sem fuso horário é um bug esperando por um leitor. As datas impressas pertencem à ISO 8601 com um deslocamento explícito, como 2025-10-09T09:33:20Z.

A fronteira de 2038

Segundos assinados de 32 bits desde que a época terminou em 19/01/2038. Os sistemas construídos nesse armazenamento – incluindo colunas MySQL mais antigas e plataformas time_t de 32 bits – não podem representar datas posteriores, e o modo de falha é uma volta para 1901, em vez de um erro. Se você estiver projetando algo destinado a sobreviver à próxima década, armazene números inteiros de 64 bits ou um tipo de data nativo agora; a migração só fica mais difícil mais tarde.

Converta nos dois sentidos, no navegador

O conversor de carimbo de data/hora YamlBox aceita segundos ou milissegundos, mostra interpretações UTC e locais lado a lado com a saída ISO 8601 e faz o sentido inverso, de uma data anterior a uma época. Ele é executado inteiramente no lado do cliente, portanto, os carimbos de data e hora dos logs de produção nunca saem da sua máquina.

Conversor de carimbo de data/hora — perguntas frequentes

Por que meu carimbo de data/hora mostra uma data de 1970?

Quase sempre uma incompatibilidade de unidades: milissegundos foram interpretados como segundos ou o valor é zero porque um campo nunca foi preenchido. Multiplique ou divida por 1000 conforme apropriado – a diferença entre dez e treze dígitos é o diagnóstico completo.

Qual é a diferença entre a época e a ISO 8601?

Eles descrevem o mesmo instante. Epoch é um número inteiro em segundos UTC, compacto e perfeito para aritmética e armazenamento; ISO 8601 é uma string legível com deslocamento, melhor para humanos, logs e APIs que devem permanecer legíveis.

Os carimbos de data/hora Unix incluem fusos horários?

Não — um valor de época é sempre UTC. Apenas sua renderização possui fuso horário, e é por isso que a conversão para uma data local requer saber em qual zona o leitor está e por que dois desenvolvedores podem discordar sobre o mesmo carimbo de data e hora, embora ambos estejam corretos.

Ferramentas mencionadas nesta postagem

Navegue pela lista completa de 19 ferramentas

Mais artigos para ler

Todas as 19 postagens →