timestamp | epoch | converter

> timestamp | epoch | converter <

// Converta timestamps Unix para datas e datas para timestamps instantaneamente

TIMESTAMP ATUAL
[AO VIVO]

Relógio em tempo real

Exibição de timestamp Unix atualizada ao vivo. Veja o tempo epoch atual em tempo real.

[BIDIRECIONAL]

Conversão bidirecional

Converta timestamps para datas legíveis e datas para timestamps. Ambas as direções suportadas.

[GRÁTIS]

Múltiplos formatos

Visualize resultados em ISO 8601, RFC 2822, UTC, hora local e tempo relativo.

// SOBRE TIMESTAMPS UNIX

Como funcionam os timestamps Unix:

Um timestamp Unix (também conhecido como tempo epoch ou tempo POSIX) representa o número de segundos decorridos desde 1 de janeiro de 1970 00:00:00 UTC (a época Unix). Este simples valor inteiro fornece uma forma universal e independente de fuso horário de representar um momento específico no tempo.

Exemplo:

1711324800 → 2024-03-25T00:00:00.000Z

Casos de uso comuns:

  • >Armazenamento e consultas de timestamps em bancos de dados
  • >Campos de tempo em respostas de API
  • >Análise de timestamps em arquivos de log
  • >Depuração de problemas relacionados a tempo
  • >Coordenação temporal entre fusos horários
  • >O problema Y2K38: inteiros de 32 bits transbordam em 19 de janeiro de 2038

>> perguntas frequentes

P: O que é um timestamp Unix?

R: Um timestamp Unix é o número de segundos decorridos desde 1 de janeiro de 1970 00:00:00 UTC. É um valor inteiro simples usado universalmente na computação.

P: O que é tempo epoch?

R: Tempo epoch é outro nome para timestamp Unix. A «epoch» refere-se ao ponto de referência: 1 de janeiro de 1970 00:00:00 UTC.

P: O que é o problema Y2038?

R: O problema do ano 2038 (Y2K38) ocorre porque muitos sistemas armazenam timestamps Unix como inteiros de 32 bits com sinal, que só podem representar tempos até 19 de janeiro de 2038 03:14:07 UTC.

P: Qual é a diferença entre timestamps em segundos e milissegundos?

R: Timestamps Unix em segundos têm 10 dígitos (ex: 1711324800), enquanto timestamps em milissegundos têm 13 dígitos (ex: 1711324800000).

P: Os timestamps Unix podem ser negativos?

R: Sim, timestamps Unix negativos representam datas antes de 1 de janeiro de 1970. Por exemplo, -86400 representa 31 de dezembro de 1969.

// Guia rápido: tamanho do timestamp

Conte os dígitos para descobrir a unidade. Confundir segundos com milissegundos é a causa mais comum de uma data errada.

DígitosUnidadeExemploOrigem típica
10s1711324800Unix/Linux, PHP time(), Stripe
13ms1711324800000JavaScript Date.now(), Java
16µs1711324800000000Kafka, Cassandra
19ns1711324800000000000Go UnixNano(), InfluxDB

// Obter o timestamp atual no código

JavaScript  Math.floor(Date.now() / 1000)
Python      int(time.time())
PHP         time()
Go          time.Now().Unix()
Java        Instant.now().getEpochSecond()
Ruby        Time.now.to_i
Bash        date +%s

>> Mais perguntas

P: Um timestamp Unix está em UTC ou em hora local?

R: Sempre em UTC. O inteiro é um instante absoluto, sem fuso horário; o fuso só é aplicado ao exibir como data. Armazene em UTC e exiba em hora local.

P: Por que meu timestamp mostra a data errada?

R: Em geral, segundos e milissegundos foram trocados: um valor de 13 dígitos lido como segundos cai por volta do ano 55.000, e um de 10 dígitos lido como milissegundos cai em janeiro de 1970. Verifique também a conversão de fuso e se não é um FILETIME do Windows ou uma data do Excel.

P: Como os segundos intercalares afetam os timestamps Unix?

R: Não afetam. O tempo Unix conta exatamente 86.400 segundos por dia e ignora segundos intercalares, que são repetidos ou distribuídos (leap smear). Isso basta para quase todas as aplicações; para medições científicas use TAI.

P: Existem outras épocas além da Unix?

R: Sim: o NTP usa 1900-01-01, o Windows FILETIME usa 1601-01-01 (intervalos de 100 ns), o Excel conta dias desde 1899-12-30 e o Mac HFS+ usava 1904-01-01. Se um valor estiver muito distante do número Unix atual, provavelmente é uma dessas variantes.

// OUTROS IDIOMAS