Conversor de Timestamp (Unix ↔ data)

Converta timestamp Unix em data legível (UTC e local) e data em timestamp, em segundos ou milissegundos. Grátis e direto no navegador.

Timestamp para data

  • Unidade consideradaSegundos
  • UTC (ISO 8601)2023-11-14T22:13:20.000Z
  • Fuso do navegador (UTC)terça-feira, 14 de novembro de 2023 às 22:13:20 UTC

Data para timestamp

  • Segundos1700000000
  • Milissegundos1700000000000

Como usar

  1. Para converter um timestamp, digite ou cole o número no campo "Timestamp Unix".
  2. Deixe a unidade em detecção automática ou force segundos ou milissegundos.
  3. Confira a data em UTC (ISO 8601), no fuso do navegador e o tempo relativo.
  4. Para o caminho inverso, escolha data, hora e fuso na seção "Data para timestamp".
  5. Use o botão "Agora" para preencher com o instante atual e copie o valor em segundos ou milissegundos.

Como funciona

O timestamp Unix (ou "época Unix") é a quantidade de tempo decorrida desde 1970-01-01T00:00:00Z, o instante zero definido pelo sistema Unix. Como conta apenas um número, ele não depende de idioma, formato de data nem fuso horário, e por isso é tão usado em bancos de dados, logs, tokens JWT e APIs. Esta ferramenta converte nos dois sentidos, sem enviar nada para servidores.

No sentido timestamp para data, o valor é interpretado como segundos ou milissegundos. Na detecção automática, números com até 11 dígitos são segundos e números maiores são milissegundos, o que cobre datas atuais sem ambiguidade. Se você trabalha com datas muito antigas ou muito distantes, force a unidade no seletor. O resultado aparece em UTC, no formato ISO 8601, no fuso do seu navegador e como tempo relativo, por exemplo "há 3 dias".

Segundos ou milissegundos

Linguagens como PHP, Python, Go e bancos como PostgreSQL costumam trabalhar em segundos, com 10 dígitos hoje. JavaScript, Java e muitas APIs web usam milissegundos, com 13 dígitos. Confundir as unidades gera datas absurdas: 1700000000 lido como milissegundos cai em janeiro de 1970, e 1700000000000 lido como segundos passa do ano 50000.

O problema do ano 2038

Sistemas antigos guardam o timestamp em um inteiro de 32 bits com sinal, cujo maior valor é 2147483647, em 19 de janeiro de 2038, às 03:14:07 UTC. Um segundo depois, o contador estoura e volta para 1901. Sistemas com 64 bits não sofrem com isso, mas dispositivos embarcados e bancos de dados legados merecem atenção.

Exemplo

O timestamp 1700000000 corresponde a 2023-11-14T22:13:20Z, ou 19h13min20s em Brasília. No sentido contrário, a data 14/11/2023 às 22:13:20 em UTC resulta em 1700000000 segundos, ou 1700000000000 milissegundos.

Erros comuns

  • Usar segundos onde a API espera milissegundos, ou o contrário.
  • Esquecer o fuso: a mesma data e hora gera timestamps diferentes em UTC e no local.
  • Digitar datas inexistentes, como 31 de fevereiro, que são rejeitadas aqui.
  • Colar valores com letras, vírgulas ou separadores de milhar.

Perguntas frequentes

O que é um timestamp Unix?

É o número de segundos (ou milissegundos) contados desde 1º de janeiro de 1970, à meia-noite em UTC. Por ser um número simples e independente de fuso horário, é muito usado para armazenar e comparar datas em sistemas e APIs.

Como saber se o timestamp está em segundos ou milissegundos?

Pelo tamanho: valores atuais em segundos têm 10 dígitos e em milissegundos têm 13. A ferramenta detecta isso sozinha, mas você pode forçar a unidade quando lidar com datas muito antigas ou muito distantes.

O que é o problema do ano 2038?

Sistemas que guardam o timestamp em um inteiro de 32 bits com sinal só chegam até 19/01/2038 às 03:14:07 UTC. Depois disso o valor estoura e volta para 1901. Sistemas de 64 bits não têm esse limite.

Por que a data local é diferente da data em UTC?

O timestamp representa um único instante, mas a data exibida depende do fuso. O Brasil, por exemplo, está atrás do UTC, então o mesmo instante aparece com horas a menos no horário local.