Timestamp de 10 dígitos, segundos
- Entrada
- 1700000000
- Saída esperada
- 2023-11-14T22:13:20.000Z
Abaixo de 1×10¹², o conversor assume segundos por padrão; é o formato que UNIX_TIMESTAMP() do MySQL devolve.
converter timestamp unix de log para data
Um número solto num log, numa coluna de banco ou na resposta de uma API não diz sozinho se é segundos ou milissegundos, nem em qual fuso ele deveria ser lido. O timestamp em si é sempre relativo a UTC, sem fuso embutido; é a interpretação que decide se 1700000000 vira uma hora da manhã ou da noite.
Abaixo de 1×10¹², o conversor assume segundos por padrão; é o formato que UNIX_TIMESTAMP() do MySQL devolve.
Três zeros a mais, o mesmo instante: é o formato que Date.now() do JavaScript devolve, e o conversor troca automaticamente de unidade porque o valor passa de 1×10¹².
É o maior número que um inteiro de 32 bits com sinal representa; um segundo depois, um sistema legado que ainda usa esse tipo de dado estoura de volta para uma data em 1901.
É o número de segundos (ou milissegundos, em JavaScript) decorridos desde 1 de janeiro de 1970 às 00:00:00 UTC. Também chamado de Epoch time ou POSIX time, é o formato universal para representar instantes de tempo em sistemas computacionais.
Conte os dígitos: 10 dígitos costuma ser segundos (cobrindo datas até o ano 2286), 13 dígitos costuma ser milissegundos. Este conversor automatiza isso com o corte em 1×10¹², mas a contagem manual de dígitos já resolve a dúvida na maioria dos logs, porque a diferença de três ordens de grandeza raramente é ambígua.
Porque o timestamp Unix é sempre relativo a UTC e não carrega fuso nenhum; "local" é uma conversão feita depois, usando o fuso de quem está lendo a tela. O instante no tempo é idêntico nos dois casos, só a hora do relógio de parede muda conforme o fuso.
Não os que usam inteiros de 64 bits para armazenar o timestamp: 64 bits com sinal só estouram bilhões de anos no futuro, então Linux, macOS e a maioria dos bancos de dados atuais já migraram. O risco real está em firmware embarcado, protocolos antigos e código de 32 bits que nunca foi atualizado.