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
- Para converter um timestamp, digite ou cole o número no campo "Timestamp Unix".
- Deixe a unidade em detecção automática ou force segundos ou milissegundos.
- Confira a data em UTC (ISO 8601), no fuso do navegador e o tempo relativo.
- Para o caminho inverso, escolha data, hora e fuso na seção "Data para timestamp".
- 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.