Todos os guias

Converter um timestamp Unix em data, e uma data em timestamp

Publicado em · Atualizado em 3 min de leitura

Um timestamp Unix é um número que conta o tempo decorrido desde 1º de janeiro de 1970 à meia-noite, em horário universal. Você o encontra em bancos de dados, em logs de programas e em interfaces de sites. Duas perguntas decidem a data que você obtém: a unidade do número e o fuso horário em que você lê o resultado.

Um valor de referência

Converter timestamp Unix dá três leituras do mesmo instante. Para 1700000000, com um navegador ajustado no horário de Paris:

LeituraResultado
Data UTCTue, 14 Nov 2023 22:13:20 GMT
Data local14 de novembro de 2023 às 23:13:20 UTC+1
ISO2023-11-14T22:13:20.000Z

A hora local segue o fuso do navegador: uma hora a mais em Paris no inverno. O mesmo timestamp é um único instante, lido em dois fusos horários.

A unidade é reconhecida pelo número de dígitos

O ajuste padrão reconhece a unidade pelo comprimento do número. Os três valores seguintes designam o mesmo instante, dentro da precisão.

NúmeroDígitosUnidade reconhecidaInstante obtido
170000000010Segundos14 nov 2023, 22:13:20 UTC
170000000000013Milissegundos14 nov 2023, 22:13:20 UTC
170000000012345616Microssegundos14 nov 2023, 22:13:20.123 UTC

A regra: até 11 dígitos, segundos; de 12 a 14, milissegundos; 15 e 16, microssegundos. O ajuste «milissegundos» força essa unidade.

A armadilha da regra

Como a unidade é deduzida do comprimento, um valor ambíguo é lido de uma única maneira: 10000000000 (11 dígitos) dá 20 de novembro de 2286, e 100000000000 (12 dígitos) 3 de março de 1973. Um timestamp em milissegundos anterior a março de 1973 tem 11 dígitos ou menos e seria lido como segundos: force então o ajuste «milissegundos».

Valores anteriores a 1970 e o limite de 2038

Um número negativo designa um instante anterior a 1970: −1 dá 31 de dezembro de 1969 às 23:59:59 UTC, e 0 dá 1º de janeiro de 1970 à meia-noite.

O número 2147483647 é o maior que um inteiro de 32 bits com sinal pode conter: ele dá 19 de janeiro de 2038 às 03:14:07 UTC. O número seguinte, 2147483648, dá 03:14:08. A ferramenta continua sem limite, mas um sistema que guarda o tempo em 32 bits não pode: é o «bug do ano 2038».

Converter uma data em timestamp

Digite uma data em vez de um número: a ferramenta dá o timestamp em segundos e em milissegundos.

EntradaTimestamp em segundosLeitura
2026-01-011767225600Meia-noite em horário universal, nenhum fuso indicado
2026-01-01T10:30:00+01:00176725980010:30 em Paris, ou seja, 09:30 em horário universal
2024-02-291709164800Ano bissexto aceito

Uma data sem fuso horário é lida em horário universal, não em hora local: a ferramenta lembra isso no resultado. Uma data que não existe, como 30 de fevereiro de 2026, é recusada com uma mensagem.

Erros comuns

  • Ler milissegundos como segundos: a data cai milhares de anos longe demais.
  • Esquecer o fuso horário: uma data lida como local e depois enviada como universal se desloca em uma ou mais horas.
  • Escrever uma data sem fuso horário pensando na hora local, quando ela será lida em horário universal.

Para contar os dias entre duas datas, veja Contar os dias entre duas datas.

Para quais casos

Um log de programa, um banco de dados, uma resposta de serviço on-line ou um arquivo exportado: o número é difícil de ler, a data se lê de imediato.

Conferir uma conversão

  1. Releia a linha UTC, que não depende do seu aparelho.
  2. Confira a unidade anunciada na primeira linha do resultado.
  3. Converta de volta a data obtida: você deve reencontrar o número de partida.

Converter timestamp Unix

Perguntas frequentes

O que é um timestamp Unix?
O número de segundos decorridos desde 1º de janeiro de 1970 à meia-noite, em horário universal.
Como saber se um número está em segundos ou em milissegundos?
A ferramenta deduz isso pelo número de dígitos: até 11 dígitos, segundos; de 12 a 14, milissegundos; 15 e 16, microssegundos.
O que acontece em 2038?
O número 2147483647, o maior inteiro de 32 bits com sinal, corresponde a 19 de janeiro de 2038. Um sistema que guarda o tempo em 32 bits não pode ir além.
Qual fuso horário é usado para uma data sem fuso?
O horário universal, não a hora local. A ferramenta lembra isso no resultado.