Ferramenta

Conversor Unix Timestamp / Epoch

Converte timestamps em datas e datas em timestamps. O resultado atualiza-se ao alterar os campos e todo o cálculo é feito no navegador.

Timestamp para data

Data para timestamp

Fuso horário local: Europe/Lisbon. Aceita casas decimais, como 1788545112.670597, com precisão até ao microssegundo.

O que é um Unix timestamp

É o número de segundos decorridos desde 1 de janeiro de 1970 às 00:00 UTC, o chamado epoch. É a forma como quase todos os sistemas guardam datas internamente, porque um número é fácil de comparar e de somar e não tem fusos horários nem formatos.

Segundos, milissegundos ou microssegundos?

Depende de quem gerou o número, e é a primeira coisa a acertar. Um timestamp em segundos tem 10 dígitos, em milissegundos tem 13 e em microssegundos tem 16. O JavaScript trabalha em milissegundos, o PHP e a maioria das bases de dados em segundos. Trocá-los dá datas em 1970 ou no ano 56000, e é o engano mais frequente. Deteção automática está disponível precisamente para isto.

Também são aceites timestamps com casas decimais, como 1788545112.670597 — é o formato do time.time() do Python e do extract(epoch …) do PostgreSQL. A parte decimal é a fração de segundo e é mantida até ao microssegundo, no resultado legível e no ISO 8601. Pode usar ponto ou vírgula.

UTC ou hora local?

O timestamp é sempre absoluto e não tem fuso: é o mesmo instante em todo o mundo. O que muda é a leitura. O resultado mostra as duas em simultâneo — UTC e a hora do seu computador — e o formato ISO 8601, que é o que se deve usar em APIs e ficheiros, por não ser ambíguo.

Ao converter no sentido inverso, de data para timestamp, tem de dizer como quer que a data escrita seja interpretada, porque «14:00» sem fuso não identifica um instante.

O problema do ano 2038

Sistemas que guardam o timestamp num inteiro de 32 bits com sinal atingem o limite a 19 de janeiro de 2038 e passam a números negativos, voltando a 1901. Os sistemas modernos usam 64 bits e não têm este problema, mas ainda há equipamento embarcado e código antigo por aí — vale a pena saber que existe.

E os segundos intercalares?

O tempo Unix ignora-os por definição: assume que todos os dias têm exatamente 86400 segundos. Isso significa que a diferença entre dois timestamps distantes não é rigorosamente o tempo físico decorrido, o que só importa em astronomia e em sincronização de alta precisão.

A conversão é feita onde?

No seu navegador. Nenhum valor é enviado para um servidor.

Fontes e revisão

Os cálculos são verificados por testes automáticos a cada alteração do site — como é feito e verificado. Se encontrar um erro, diga-nos e é corrigido.