Converta um timestamp Unix em data, e ao contrário
Um número de dez algarismos num registo ou num JWT e ninguém sabe a que momento corresponde? Cole-o aqui: a data legível aparece de imediato, em UTC, sem instalar nada e sem registo.
O que é um timestamp Unix?
O timestamp Unix, também chamado tempo epoch, conta os segundos decorridos desde 1 de janeiro de 1970 às 00:00:00 UTC. É assim que as máquinas guardam uma data sob a forma de um único número inteiro.
O valor 1 700 000 000 corresponde a 14 de novembro de 2023 às 22:13:20 UTC. O timestamp de hoje anda pelos 1790 milhões e cresce uma unidade por segundo.
Encontra-se em bases de dados, APIs, registos de servidor e tokens JWT. Não depende de nenhum fuso horário: o mesmo número indica o mesmo instante em todo o mundo.
É daí que vem o problema do ano 2038: um timestamp guardado em 32 bits com sinal atinge o valor máximo a 19 de janeiro de 2038. Os sistemas atuais guardam-no em 64 bits.
Como funciona a conversão?
Converter é contar quantos dias, horas, minutos e segundos cabem no número de segundos passados desde a época. O resultado é dado em UTC, a mesma base do próprio timestamp.
Para a hora de Portugal continental, some zero horas no inverno e uma no verão, já que o país está em UTC+0 e UTC+1. No Brasil, que deixou de mudar a hora em 2019, Brasília está fixa em UTC-3, pelo que se subtraem três horas. Em JavaScript, Intl.DateTimeFormat com timeZone: "Europe/Lisbon" ou "America/Sao_Paulo" trata disso.
Atenção à unidade: o JavaScript conta milissegundos, não segundos. O Date.now() devolve por isso um número mil vezes maior do que um timestamp Unix e tem de ser dividido por 1000.
Timestamp Unix e data legível: o que os separa
| Timestamp Unix | Data e hora | |
|---|---|---|
| Formato | Número inteiro | AAAA-MM-DD HH:MM:SS |
| Fuso horário | Sempre UTC | Depende do lugar |
| Intervalo em 32 bits | 0 – 2 147 483 647 | 1970–2038 |
| Intervalo em 64 bits | Praticamente ilimitado | Milhares de milhões de anos |
| Ordenação | Natural, são números | Exige analisar o texto |
Como usar o conversor?
1. Insira um valor
Escreva um timestamp em segundos. O conversor descarta a parte decimal, por isso divida primeiro os milissegundos por 1000.2. Leia o resultado
A data surge de imediato no campo ao lado, em UTC e no formato 2023-11-14 22:13:20, sem carregar em nenhum botão.3. Copie ou troque o sentido
Carregue em Copiar resultado ou no botão Trocar ordem para escrever uma data e obter o respetivo timestamp.
Quando serve este conversor?
Bases de dados e colunas de data
As colunas created_at, updated_at e deleted_at guardam muitas vezes um timestamp em vez de uma data legível, seja em PostgreSQL, MySQL ou SQLite. Ao depurar uma migração em Symfony ou Laravel, o conversor devolve sentido à linha sem lançar qualquer consulta.APIs e tokens JWT
Um token JWT traz os campos exp e iat, a validade e o momento de emissão, ambos como timestamp Unix. O conversor diz num segundo se o token ainda é válido e quando foi emitido.Registos de servidor e tarefas cron
O Apache, o Nginx e o syslog datam cada linha. Uma tarefa cron num servidor corre quase sempre em UTC: o conversor dá a hora UTC do erro, à qual falta somar o desvio local para a comparar com o horário de trabalho.Depuração e objetos Date em JavaScript
O Date.now() devolve milissegundos, cerca de 1 788 000 000 000 em setembro de 2026. Dividir por 1000 e arredondar para baixo dá o timestamp Unix. O conversor serve depois para comparar valores de várias fontes e detetar desacertos de relógio.
Valores a ter à mão
- A época Unix começa a 1 de janeiro de 1970 às 00:00:00 UTC: é o timestamp 0.
- O limite de 32 bits, 2 147 483 647, cai a 19 de janeiro de 2038 às 03:14:07 UTC.
- Em JavaScript,
Date.now()devolve milissegundos, não segundos. - Um timestamp negativo indica uma data anterior a 1970: -1 é 31 de dezembro de 1969 às 23:59:59 UTC.
Última revisão do conteúdo: · escrito e verificado pela equipa Arteon
Perguntas frequentes
O que é a época Unix?
1º de janeiro de 1970 às 00:00:00 UTC. Todos os timestamps são medidos a partir desse ponto.
O que é o problema do ano 2038?
Os timestamps de 32 bits com sinal transbordam em 19 de janeiro de 2038 às 03:14:07 UTC. Os sistemas modernos usam 64 bits.
Os cálculos são feitos localmente?
Sim. Todos os cálculos são executados no seu navegador.
Qual é o timestamp Unix atual?
Em setembro de 2026 anda pelos 1 788 000 000 e cresce uma unidade por segundo. Para o valor exato, escreva a data de hoje no conversor ou execute Math.floor(Date.now() / 1000) na consola do navegador.
Como passo do resultado para a hora de Portugal ou do Brasil?
O conversor mostra UTC. Portugal continental está em UTC+0 no inverno e UTC+1 no verão, pelo que se soma zero ou uma hora; os Açores ficam uma hora atrás. Brasília está fixa em UTC-3 desde que o Brasil deixou de mudar a hora em 2019, portanto subtraem-se três horas.
Qual é a diferença entre o timestamp Unix e o do JavaScript?
O timestamp Unix conta segundos e o JavaScript conta milissegundos. Por isso 1700000000 escreve-se 1700000000000 em JavaScript. Dividir por 1000 e aplicar Math.floor leva de um ao outro.
Como obtenho um timestamp em JavaScript, PHP ou SQL?
Em JavaScript, Math.floor(Date.now() / 1000). Em PHP, time(). Em Python, int(time.time()). Em SQL, UNIX_TIMESTAMP() no MySQL e EXTRACT(EPOCH FROM NOW()) no PostgreSQL.
Um timestamp pode ser negativo?
Pode. Os valores negativos indicam datas anteriores a 1 de janeiro de 1970: -86400 é 31 de dezembro de 1969 às 00:00:00 UTC. A maioria das linguagens e bases de dados aceita-os sem problema.

Ajude-nos a melhorar as nossas ferramentas
Tem uma ideia, encontrou um bug ou quer sugerir uma funcionalidade? Escreva-nos – respondemos em 24 horas.