Como converter carimbos de data/hora Unix em datas legíveis por humanos
Resposta rápida
Carimbo de data e hora Unix = segundos (ou milissegundos) desde 01/01/1970 00:00:00 UTC. Converta para uma data com new Date(timestamp * 1000) em JavaScript (segundos) ou new Date(timestamp) (milissegundos). Converta uma data anterior com Math.floor(date.getTime() / 1000). Use nosso Timestamp Converter para fazer as duas coisas instantaneamente em seu navegador.
Introdução
Um carimbo de data / hora Unix (também chamado de época ou hora POSIX) é o número de segundos decorridos desde 1970-01-01 00:00:00 UTC (a época Unix), excluindo segundos bissextos. É a língua franca do tempo na computação porque é um número inteiro único, independente do fuso horário e classificável trivialmente. A maioria dos sistemas usa segundos; JavaScript e muitos bancos de dados usam milissegundos.
Passo a passo
-
Entenda segundos versus milissegundos
A maioria dos sistemas backend e APIs usam segundos (carimbos de data e hora de 10 dígitos até 2286). A Data do JavaScript e o Instant do Java usam milissegundos (13 dígitos). Sempre confirme qual unidade um API espera - misturá-las muda a data por um fator de 1000 (uma diferença de aproximadamente 31 anos).
-
Converter um carimbo de data/hora em uma data legível
Cole o carimbo de data/hora no conversor de carimbo de data/hora. Ele detecta segundos versus milissegundos por comprimento (10 versus 13 dígitos) e exibe a data em UTC e seu fuso horário local. No código: new Date(1700000000 * 1000).toISOString() retorna '2023-11-14T22:13:20.000Z'.
-
Converter uma data em um carimbo de data/hora
Insira uma data e hora no conversor; ele retorna o carimbo de data/hora Unix. No código: Math.floor(new Date('2026-08-28T12:00:00Z').getTime() / 1000) retorna os segundos da época. Sempre especifique o fuso horário (Z ou um deslocamento) para evitar ambiguidade no horário local.
-
Lidar com fusos horários corretamente
Os carimbos de data/hora Unix são sempre UTC – eles não têm fuso horário. Converta para uma exibição local somente na camada de apresentação. Nunca armazene a hora local como um carimbo de data/hora; armazene UTC e converta no display. Use nomes de fuso horário IANA (América/Nova_York) com Intl.DateTimeFormat para tratamento correto do horário de verão.
-
Calcular diferenças entre datas
Subtraia dois carimbos de data/hora para obter a diferença em segundos (ou milissegundos). Divida por 60 para minutos, 3.600 para horas e 86.400 para dias. Use nossa ferramenta Diferença de Data para faixas amigáveis ou a Calculadora de Idade para idades baseadas em datas de nascimento.
Exemplos
A época Unix
Entrada: 0 (seconds)
Saída: 01-01-1970 00:00:00 UTC
Um bilhão de segundos após a época
Entrada: 1000000000 (seconds)
Saída: 09/09/2001 01:46:40 UTC
Início de 2026 em UTC
Entrada: 2026-01-01T00:00:00Z
Saída: 1767225600 (segundos) / 1767225600000 (milissegundos)
Diferença entre duas datas
Entrada: 1767225600 - 1700000000
Saída: 67225600 seconds = 778.08 days ≥2 years 31 days
Problemas comuns
- Confusão de segundos versus milissegundos: um carimbo de data/hora de 10 dígitos lido como milissegundos fornece uma data em 1970; um carimbo de data/hora de 13 dígitos lido como segundos excede o int de 32 bits. Detecte a unidade por contagem de dígitos ou documente-a explicitamente em API.
- Armazenando a hora local como um carimbo de data/hora: os carimbos de data/hora são UTC. Se você calcular Date.now() em um navegador configurado para UTC-5 e tratar o resultado como local, as transições de horário de verão mudarão seus dados em uma hora, duas vezes por ano.
- Estouro de 32 bits em 19/01/2038 03:14:07 UTC (Y2038): os sistemas que usam um carimbo de data/hora assinado de segundos de 32 bits não podem representar datas após esse ponto. Use carimbos de data/hora de 64 bits ou milissegundos em novos sistemas.
- Os segundos bissextos são ignorados: os carimbos de data e hora Unix ignoram os segundos bissextos, portanto, a diferença entre dois carimbos de data e hora não é igual ao número de segundos SI decorridos. A maioria dos aplicativos pode ignorar isso; a astronomia e as finanças de alta precisão não podem.
Dicas
- Sempre armazene e transmita carimbos de data/hora em UTC; converta para a hora local apenas na camada de exibição usando Intl.DateTimeFormat com um fuso horário IANA.
- Use strings ISO 8601 (por exemplo, 2026-08-28T12:00:00Z) para APIs legível por humanos e carimbos de data e hora para armazenamento — as strings ISO carregam seu fuso horário explicitamente e são inequívocas.
- Ao comparar carimbos de data/hora, use a mesma unidade (segundos ou milissegundos) em ambos os lados — uma incompatibilidade de unidade é um dos erros de data mais comuns.
- Use nosso conversor de carimbo de data / hora para verificar a integridade das respostas API durante a depuração - ele mostra o horário UTC e local para que você possa detectar erros de fuso horário imediatamente.