Como Converter Timestamps Unix
Os timestamps Unix são como os computadores armazenam e comunicam tempo — um único número representando os segundos desde 1º de janeiro de 1970. Eles aparecem em respostas de API, registros de banco de dados, arquivos de log e tokens JWT. Quando você precisa saber que data realmente é 1711824000, você precisa de um conversor.
Como é um timestamp Unix
| Timestamp | Tipo | Legível |
|---|---|---|
| 0 | Segundos | 1 de jan de 1970 00:00:00 UTC |
| 1000000000 | Segundos | 9 de set de 2001 01:46:40 UTC |
| 1711824000 | Segundos | 31 de mar de 2024 00:00:00 UTC |
| 1711824000000 | Milissegundos | 31 de mar de 2024 00:00:00 UTC |
A diferença entre segundos e milissegundos é de três zeros a mais. Um número de 10 dígitos está em segundos; 13 dígitos são milissegundos.
Como converter timestamps
- Informe um timestamp ou uma data — cole um timestamp Unix para convertê-lo em uma data legível, ou informe uma data para obter o timestamp.
- Confira o formato — o conversor detecta automaticamente se é em segundos ou milissegundos com base no tamanho do número.
- Leia o resultado — veja a data no seu fuso horário local, em UTC e no formato ISO 8601.
Onde você encontra timestamps
- Respostas de API — a maioria das APIs REST retorna datas como timestamps Unix:
"created_at": 1711824000 - Tokens JWT — as claims
iat(emitido em) eexp(expiração) são timestamps Unix - Registros de banco de dados — muitos bancos armazenam timestamps como inteiros para ordenação e comparação eficientes
- Arquivos de log — logs de servidor costumam iniciar entradas com timestamps de época
- Jobs cron — sistemas de agendamento referenciam tempo no formato Unix
Timestamps em código
Conversão rápida em linguagens comuns:
JavaScript: new Date(1711824000 * 1000) (JS usa milissegundos)
Python: datetime.fromtimestamp(1711824000)
Hora atual: Date.now() (JS), time.time() (Python)
Dicas
- Multiplique por 1000 em JavaScript — o
Datedo JS espera milissegundos, mas a maioria das APIs retorna em segundos. Esquecer de multiplicar é o bug de timestamp mais comum. - Sempre especifique UTC — ao converter, seja explícito quanto ao fuso horário. "31 de março à meia-noite" é um timestamp diferente dependendo de se você quis dizer UTC, EST ou PST.
- Use ISO 8601 para exibir — depois de converter, formate datas como
2024-03-31T00:00:00Zpara uma comunicação inequívoca entre fusos horários. - Guarde o conversor nos favoritos — se você trabalha com APIs ou bancos de dados, vai converter timestamps com frequência suficiente para querer o conversor a um clique de distância.
Perguntas frequentes
O que é o tempo de época Unix?
O tempo de época Unix (também chamado de tempo POSIX ou timestamp Unix) é o número de segundos decorridos desde 1º de janeiro de 1970 às 00:00:00 UTC. É a forma padrão como os computadores representam o tempo internamente.
Qual é a diferença entre timestamps em segundos e em milissegundos?
Os timestamps Unix em segundos têm 10 dígitos (por exemplo, 1711824000). Os timestamps em milissegundos têm 13 dígitos (por exemplo, 1711824000000). O JavaScript usa milissegundos; a maioria das APIs e bancos usa segundos. O conversor detecta automaticamente pelo tamanho.
Por que minha hora convertida está diferente por várias horas?
Os timestamps estão sempre em UTC. O conversor mostra tanto o UTC quanto o seu horário local. Se o resultado não corresponder à sua expectativa, provavelmente você está comparando uma saída em UTC com uma hora local, ou vice-versa.
O que acontece em 2038?
Sistemas que armazenam timestamps Unix como inteiros com sinal de 32 bits sofrerão overflow em 19 de janeiro de 2038. A maioria dos sistemas modernos usa inteiros de 64 bits, o que estende o alcance muito além de qualquer preocupação prática.