Timestamp Unix
O que é um timestamp Unix (epoch time)?
Um timestamp Unix — também chamado de hora Unix, epoch time ou tempo POSIX — é o número de segundos decorridos desde 1º de janeiro de 1970 às 00:00:00 UTC, um ponto de partida chamado «a época» (epoch). É simplesmente um valor numérico que representa uma data e hora precisas.
É a forma mais simples de um computador representar uma data e hora: um único número inteiro, idêntico em todo o mundo e independente do fuso horário. O timestamp Unix é encontrado em bancos de dados, arquivos de log, APIs, sistemas Linux e na maioria das linguagens de programação (PHP, JavaScript, Python, Java, SQL…).
Importante: um timestamp Unix é sempre contado em UTC (horário universal, próximo ao GMT). É ao exibi-lo que o traduzimos para um fuso horário para obter uma data e hora «humanas». O mesmo número 1700000000 corresponde, assim, às 23h13 em Paris, 17h13 em Nova York ou 7h13 do dia seguinte em Tóquio — exatamente o mesmo instante, lido em horários locais diferentes. Converter um timestamp em data, ou uma data em timestamp, consiste simplesmente em escolher o fuso horário de exibição.
Por que usar um timestamp Unix?
Representar uma data e hora por um simples número — o timestamp — tem muitas vantagens para desenvolvedores, bancos de dados e computadores:
Segundos ou milissegundos?
Dependendo do sistema, o timestamp é expresso em segundos ou milissegundos.
Sistemas Unix/Linux, PHP ou MySQL geralmente usam segundos (10 dígitos hoje, ex. 1750166400). JavaScript e muitas APIs web usam milissegundos (13 dígitos, ex. 1750166400000).
Sem preocupações: este conversor detecta automaticamente a unidade. Se você colar 13 dígitos, ele entende como milissegundos; caso contrário, lê segundos.
Algumas referências úteis
O problema do ano 2038: sistemas que armazenam o timestamp em um inteiro de 32 bits não conseguirão contar além de 19 de janeiro de 2038 às 03:14:07 UTC. Sistemas modernos (64 bits) não são afetados.