SomeeLab.tools

Conversor de timestamp Unix

Converta um timestamp Unix para data legível e de volta, em segundos ou milissegundos, no horário local ou em UTC. Grátis, sem cadastro e no seu navegador.

Agora
segundosmilissegundos

Segundos ou milissegundos

Um timestamp Unix conta o tempo decorrido desde a meia-noite UTC de 1 de janeiro de 1970. O problema é que alguns sistemas contam em segundos e outros em milissegundos.

  • Segundos — comandos Unix, funções de tempo do PostgreSQL e do MySQL, os campos exp e iat de um JWT, a maioria das APIs REST
  • MilissegundosDate.now() do JavaScript, System.currentTimeMillis() do Java, boa parte das esteiras de log

Trocar um pelo outro leva a janeiro de 1970 (milissegundos lidos como segundos) ou ao ano 50000 (segundos lidos como milissegundos). Esta ferramenta deduz a unidade pela magnitude e mostra como leu o número, então confira essa linha assim que uma data parecer estranha.

A armadilha do fuso

Um timestamp não tem fuso horário. É um único número que nomeia um instante; o fuso só entra quando esse número vira texto para uma pessoa. O mesmo valor aparece como 16h em São Paulo e 20h em Lisboa.

Por isso um relato de bug que diz “falhou às 15h” vem sem metade da informação. Registre timestamps ou strings ISO 8601 com deslocamento, e monte o horário legível apenas na hora de exibir.

O problema de 2038

Guardado num inteiro de 32 bits com sinal, um timestamp estoura em 19 de janeiro de 2038. Nesse instante o valor vira negativo e a data passa a 1901. Linguagens e bancos atuais usam 64 bits, mas se você mantém firmware embarcado antigo ou código C legado, vale conferir a largura desse campo.

Valores negativos e zero

Negativos apontam para datas anteriores a 1970. Aparecem sempre que datas antigas, como um nascimento, são guardadas assim — e algumas bibliotecas lidam mal com eles.

Zero é a meia-noite UTC de 1 de janeiro de 1970. Quando surge em dados reais quase nunca é um horário de verdade: é um campo que ninguém inicializou.