> timestamp | epoch | converter <
// Converta timestamps Unix para datas e datas para timestamps instantaneamente
Relógio em tempo real
Exibição de timestamp Unix atualizada ao vivo. Veja o tempo epoch atual em tempo real.
Conversão bidirecional
Converta timestamps para datas legíveis e datas para timestamps. Ambas as direções suportadas.
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ígitos | Unidade | Exemplo | Origem típica |
|---|---|---|---|
| 10 | s | 1711324800 | Unix/Linux, PHP time(), Stripe |
| 13 | ms | 1711324800000 | JavaScript Date.now(), Java |
| 16 | µs | 1711324800000000 | Kafka, Cassandra |
| 19 | ns | 1711324800000000000 | Go 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.