Guia / fundamentos

O que é um timestamp Unix?

Entenda o epoch, UTC, timestamps negativos, unidades e o que um número Unix realmente identifica.

Definição curta

Um timestamp Unix é uma contagem com sinal do tempo transcorrido desde 1970-01-01T00:00:00Z. A definição clássica usa segundos, mas APIs modernas também usam milissegundos, microssegundos e nanossegundos. Um número sem unidade está incompleto.

Timestamp 0 é o epoch Unix. Timestamp -1 segundo é 1969-12-31T23:59:59Z. Valores negativos são válidos quando o runtime e o tipo de armazenamento os suportam.

UTC e fusos horários

O timestamp identifica um instante na linha do tempo UTC. Ele não guarda cidade, país, regra de horário de verão ou formato preferido. Formatar o mesmo valor em São Paulo e Tóquio produz horários diferentes sem mudar o instante.

Segundos intercalares

O tempo Unix normalmente trata cada dia como 86.400 segundos e não representa um segundo intercalar como um número separado. Essa convenção é esperada em aplicações web e bancos comuns; sistemas científicos podem usar outras escalas.

Exemplo reproduzível

1700000000 segundos corresponde a 2023-11-14T22:13:20.000Z. Multiplicar por 1.000 produz 1700000000000 milissegundos sem alterar o instante.

Interpretar um valor de API ou log

Um campo chamado created_at pode guardar uma data ISO, segundos Unix ou milissegundos. O nome sozinho não identifica o formato. Consulte a documentação, cole o valor no conversor de timestamp para data e selecione a unidade informada. Confira a data UTC antes de usar o resultado.

SegundosData UTCSignificado
-11969-12-31 23:59:59Um segundo antes da época
01970-01-01 00:00:00Origem do tempo Unix
17000000002023-11-14 22:13:20Um timestamp moderno
21474836472038-01-19 03:14:07Limite de segundos de um inteiro de 32 bits com sinal

Um instante, vários horários locais

Para 1700000000, UTC indica 14 de novembro às 22:13:20. Xangai indica dia 15 às 06:13:20 e Nova York, dia 14 às 17:13:20. O timestamp é o mesmo; muda apenas a apresentação no calendário. Confira na ferramenta de fusos.

Timestamps comuns no modelo POSIX não contam segundos intercalares como segundos comuns adicionais. Também não são um cronômetro: o relógio do dispositivo pode sofrer ajustes. Para medir uma operação breve em JavaScript, use um relógio monotônico como performance.now().

Registrar a unidade

Guarde a unidade junto ao valor ou documente-a no contrato da API. Se a data parecer incorreta, consulte segundos e milissegundos. Para interpretar uma data de calendário, use data para timestamp e escolha o fuso de origem.

Normas e documentação técnica

Ferramentas / 01—06

Mais ferramentas de timestamp

Cada ferramenta parte de uma entrada específica e entrega uma resposta objetiva.