Lição 1
O que é um timestamp Unix?
O epoch, por que sistemas guardam tempo como inteiros e onde timestamps aparecem.
Um timestamp Unix (também Unix time ou epoch time) conta quanto tempo passou desde um ponto fixo chamado epoch Unix:
1970-01-01 00:00:00 UTC
Esse instante é definido como 0. Cada momento depois recebe um inteiro positivo; momentos antes de 1970 recebem valores negativos.
Por que inteiros em vez de strings?
Guardar tempo como número tem vantagens práticas:
- Ordenar eventos cronológicos é trivial (
ORDER BY created_at) - Aritmética é simples (duração = fim − início)
- Neutro a fuso na armazenagem — o inteiro nomeia um instante na linha do tempo global; a camada de exibição escolhe UTC ou formatação local
Strings como "2024-06-01T12:00:00" são legíveis para humanos, mas ambíguas sem offset ou regras de fuso.
Onde você vê timestamps Unix
Lugares comuns:
- Logs de servidor — muitas vezes segundos desde o epoch em um campo
- Claims JWT
iat/exp— em geral segundos - JavaScript —
Date.now()retorna milissegundos - PostgreSQL —
EXTRACT(EPOCH FROM ...)retorna segundos com parte fracionária - Analytics mobile — misto; sempre confira a documentação
Não é o mesmo que “horário local no relógio”
1700000000 por si só não significa “17h na minha cidade”. Ele nomeia um instante; sua UI converte esse instante para horário local de parede na exibição.
Resumo
Timestamps Unix são contadores portáteis de tempo desde 1970-01-01 UTC. Aprenda o epoch uma vez e logs, tokens, bancos e campos de API ficam muito mais fáceis de decodificar.