EpochConvert
Hora Unix (segundos)
Hora Unix (milissegundos)
Hora UTC

Conversor de Timestamp Unix

Converta timestamps de época para datas legíveis — ou qualquer data para seu timestamp Unix. Relógio ao vivo, trechos em 8 linguagens, conversor em lote.

Época → Data Legível
Data Legível → Época
Trechos de Código
Conversor em Lote

Cole vários timestamps (um por linha). Suporta mistura de segundos e milissegundos.

O Que É um Timestamp Unix?

Um timestamp Unix — também conhecido como tempo de época, tempo POSIX ou tempo Unix — é o número de segundos decorridos desde a Época Unix: 1º de janeiro de 1970 às 00:00:00 Tempo Universal Coordenado (UTC). É um conceito fundamental em computação usado para representar instantes no tempo em um formato independente de fuso horário, de idioma e perfeitamente adequado para operações aritméticas.

Por que segundos a partir de 1970?

A época Unix foi escolhida pelos primeiros desenvolvedores Unix no início dos anos 1970 como ponto de referência. Embora a escolha exata tenha sido um tanto arbitrária, 1970 estava próximo do período de desenvolvimento do Unix e fornecia números redondos para os timestamps da época. O formato se tornou um padrão global por causa da influência do Unix em todos os sistemas operacionais subsequentes.

Segundos vs. Milissegundos

A especificação original do timestamp Unix usa segundos, mas linguagens de programação e APIs modernas frequentemente usam milissegundos para maior precisão. Uma forma rápida de diferenciá-los: um número de 10 dígitos está em segundos (ex.: 1718000000); um número de 13 dígitos está em milissegundos (ex.: 1718000000000). Este conversor detecta o formato automaticamente.

O Problema do Ano 2038

Inteiros de 32 bits com sinal podem armazenar no máximo 2.147.483.647, o que corresponde a 19 de janeiro de 2038 às 03:14:07 UTC. Sistemas que armazenam timestamps Unix como inteiros de 32 bits com sinal vão sofrer overflow nessa data, retornando para um número negativo grande. Sistemas modernos de 64 bits conseguem representar timestamps até aproximadamente o ano 292.277.026.596 d.C., portanto isso é uma preocupação apenas para sistemas embarcados legados e softwares antigos que ainda não migraram para armazenamento de tempo em 64 bits.

Perguntas Frequentes

  • Um timestamp Unix (também chamado de tempo de época) é o número de segundos decorridos desde 1º de janeiro de 1970 às 00:00:00 UTC. É uma forma universal e independente de fuso horário de representar um instante no tempo, usada em praticamente todas as linguagens de programação e sistemas operacionais.
  • Um timestamp de 10 dígitos está em segundos (ex.: 1718000000 = junho de 2024). Um timestamp de 13 dígitos está em milissegundos (ex.: 1718000000000). Este conversor detecta automaticamente com base na quantidade de dígitos e na magnitude do valor.
  • O timestamp Unix para 1º de janeiro de 2000 às 00:00:00 UTC é 946684800.
  • Em 19 de janeiro de 2038 às 03:14:07 UTC, os timestamps Unix armazenados como inteiros de 32 bits com sinal vão fazer overflow do valor máximo (2.147.483.647) para um número negativo. Sistemas modernos de 64 bits não são afetados, mas sistemas embarcados e softwares legados podem precisar de atualizações.
  • ISO 8601 é um padrão internacional para representação de datas e horas. Um timestamp típico tem o formato 2024-06-10T14:30:00Z (Z indica UTC) ou 2024-06-10T14:30:00+05:30 (com deslocamento UTC). É recomendado para APIs e intercâmbio de dados.
  • Use Math.floor(Date.now() / 1000) para segundos, ou Date.now() para milissegundos. Você também pode usar new Date().getTime(), que retorna milissegundos.