Conversor de timestamp Unix
Converta entre timestamps Unix e datas.
Sobre esta ferramenta
Converta timestamps Unix em segundos, milissegundos ou microssegundos para ISO 8601, horário local e tempo relativo, ou transforme qualquer data de volta em timestamp.
Como usar
- Cole um timestamp Unix em segundos, milissegundos ou microssegundos, ou qualquer data em texto.
- A unidade é detectada pela quantidade de dígitos.
- Veja a data em ISO 8601, no seu horário local, em RFC 2822 e em forma relativa, e copie o que precisar.
Perguntas
- O que é um timestamp Unix?
- O número de segundos desde 1º de janeiro de 1970, 00:00:00 UTC, conhecido como Unix epoch. É o mesmo em todo o mundo, o que o torna ideal para armazenar momentos no tempo.
- Segundos ou milissegundos?
- Um timestamp atual em segundos tem 10 dígitos; em milissegundos, 13. Ferramentas Unix e a maioria das APIs usam segundos; o Date.now() do JavaScript retorna milissegundos.
- O que é o problema do ano 2038?
- Sistemas que armazenam timestamps como inteiros de 32 bits com sinal estouram em 19 de janeiro de 2038. Sistemas modernos usam valores de 64 bits e não são afetados.
- Como datas anteriores a 1970 são escritas como timestamps Unix?
- Como números negativos. -86400 é 31 de dezembro de 1969 às 00:00 UTC, um dia antes do epoch, e este conversor aceita o sinal de menos. Alguns sistemas e bibliotecas mais antigos rejeitam timestamps negativos, então confira antes de armazenar datas históricas, como datas de nascimento, desse jeito.
- Os timestamps Unix incluem segundos bissextos?
- Não. O Unix time trata todo dia como tendo exatamente 86.400 segundos e ignora os segundos bissextos. Quando um acontece, o relógio do sistema repete um segundo ou, no Google e na AWS, o distribui ao longo de várias horas, o que se chama smearing. Para quase todas as aplicações, dá para ignorar isso com segurança.
- Como converter um timestamp Unix no Excel ou no Google Sheets?
- Use =A1/86400 + DATE(1970,1,1) e formate a célula como data e hora. O resultado fica em UTC, então some o seu offset dividido por 24 para ter o horário local. Para um timestamp em milissegundos, divida por 86400000 em vez de 86400.
Como obter o timestamp Unix atual em qualquer linguagem
A maioria das linguagens retorna o epoch time atual em uma chamada. Em JavaScript, Date.now() retorna milissegundos, então use Math.floor(Date.now() / 1000) para segundos. O time.time() do Python retorna segundos como float, e em um shell date +%s imprime segundos. Go tem time.Now().Unix(), Java tem Instant.now().getEpochSecond() e PostgreSQL tem extract(epoch from now()). O topo desta página mostra o valor atual ao vivo em segundos e milissegundos.
O caminho inverso é igualmente curto: new Date(ts * 1000).toISOString() em JavaScript, datetime.fromtimestamp(ts, tz=timezone.utc) em Python, date -d @1762540800 no Linux ou date -r 1762540800 no macOS. O bug mais frequente é misturar as unidades. Passe segundos para uma função que espera milissegundos e você cai em janeiro de 1970; passe milissegundos onde se esperam segundos e você obtém uma data dezenas de milhares de anos no futuro.
ISO 8601 ou Unix time: qual formato armazenar
O Unix time é um único número: fácil de comparar, ordenar e usar em cálculos, e livre de confusão com fusos horários. Strings ISO 8601 como 2026-11-07T20:00:00Z são legíveis para pessoas e podem levar um offset quando necessário, como em 2026-11-07T21:00:00+01:00. Os dois descrevem um instante exato. A RFC 3339 é o perfil mais rígido do ISO 8601 para a internet, que a maioria das APIs realmente segue.
Uma boa regra é armazenar instantes em um tipo timestamp nativo ou como Unix time, e enviar ISO 8601 com Z ou com offset em APIs e logs. Evite strings sem nenhum fuso, como 2026-11-07 20:00, porque cada leitor pode presumir um diferente. Este conversor de epoch lê essas strings como UTC e avisa isso em uma nota. Ele também entende formatos de log como 06/Nov/2026:09:15:02 +0000.
Por que meu timestamp convertido está algumas horas errado?
Um timestamp Unix não tem fuso horário; ele conta os segundos desde o epoch em UTC. Se uma data convertida parece algumas horas errada, o timestamp geralmente está certo e o problema é a exibição. Compare aqui a linha ISO 8601 (UTC) com a linha Local: elas mostram o mesmo instante, uma vez em UTC e outra no fuso horário do seu navegador. Um código que formata datas sem fuso usa o fuso local da máquina.
A outra causa comum é um timestamp criado a partir do horário local de relógio. No Python, datetime.utcnow().timestamp() é o exemplo clássico: o valor UTC ingênuo é tratado como horário local, então o resultado fica errado pelo seu offset em relação ao UTC. Use datetime.now(timezone.utc). Uma diferença de exatamente 3600 ou 7200 segundos aponta para esse tipo de bug. O Conversor de fusos horários mostra o que o relógio marcava em cada fuso.
Timestamps Unix notáveis
Marcos do tempo Unix, em segundos desde 1º de janeiro de 1970 UTC.
| Timestamp | Data (UTC) | Por que importa |
|---|---|---|
0 | 1970-01-01T00:00:00Z | O epoch Unix: onde a contagem começa |
1000000000 | 2001-09-09T01:46:40Z | Um bilhão de segundos |
1234567890 | 2009-02-13T23:31:30Z | Os dígitos de 1 a 0 em ordem, celebrados por programadores |
2000000000 | 2033-05-18T03:33:20Z | Dois bilhões de segundos |
2147483647 | 2038-01-19T03:14:07Z | Maior valor de 32 bits com sinal: o problema do ano 2038 |
4294967295 | 2106-02-07T06:28:15Z | Maior valor de 32 bits sem sinal |
Algo não está funcionando ou um resultado parece errado? Relatar um problema com esta ferramenta