Conversor de timestamps Unix

Converta timestamps Unix em segundos ou milissegundos em datas, ou uma data em tempo Unix. Veja a hora UTC e a hora local em conjunto.

O que é um timestamp Unix

Um timestamp Unix é o número de segundos decorridos desde as 00:00:00 UTC de 1 de janeiro de 1970, um instante conhecido como a época Unix. O número não contém fuso horário: num dado instante é o mesmo em qualquer ponto da Terra. É isso que o torna prático para registos, bases de dados e API, que guardam um único número e deixam a apresentação em hora local a cargo de cada leitor. O timestamp 1704067200, por exemplo, é a meia-noite UTC com que começa o dia 1 de janeiro de 2024.

Segundos ou milissegundos?

Os timestamps de datas atuais têm 10 dígitos em segundos e 13 em milissegundos. Date.now() em JavaScript e System.currentTimeMillis() em Java devolvem milissegundos; time() em PHP, o comando date +%s e a maioria das bases de dados trabalham em segundos. Trocar os dois é o erro mais comum com timestamps. Um valor em milissegundos lido como segundos vai parar dezenas de milhares de anos ao futuro, e um valor em segundos lido como milissegundos vai parar a janeiro de 1970. Por isso, este conversor pede-lhe que escolha a unidade em vez de a adivinhar pelo comprimento do número.

Segundos intercalares, números negativos e o ano 2038

O tempo Unix trata cada dia como tendo exatamente 86 400 segundos. Os 27 segundos intercalares acrescentados a UTC entre 1972 e 2016 não são contados, pelo que um timestamp é uma etiqueta para um momento do calendário e não uma contagem exata dos segundos decorridos. Os instantes anteriores a 1970 são negativos: -86400 é 31 de dezembro de 1969. Os sistemas que guardam o valor como inteiro de 32 bits com sinal esgotam-se às 03:14:07 UTC de 19 de janeiro de 2038; os de 64 bits não têm esse limite. O limite de 2038 explica o que é afetado.

Timestamps de referência

Timestamp (segundos) Data e hora (UTC) O que assinala
0 1970-01-01 00:00:00 A época Unix, onde começa a contagem
1000000000 2001-09-09 01:46:40 Mil milhões de segundos, o primeiro valor com 10 dígitos
1234567890 2009-02-13 23:31:30 Os algarismos de 1 a 9 e o 0 por ordem, celebrados na altura pelos programadores
2000000000 2033-05-18 03:33:20 Dois mil milhões de segundos
2147483647 2038-01-19 03:14:07 O maior valor de um inteiro de 32 bits com sinal

Obter o timestamp atual em segundos

JavaScript Math.floor(Date.now() / 1000)
Python int(time.time())
PHP time()
Bash date +%s
PostgreSQL SELECT EXTRACT(EPOCH FROM now())::bigint
MySQL SELECT UNIX_TIMESTAMP()

Perguntas e respostas

Um timestamp Unix está em UTC?

É contado a partir de um instante definido em UTC, e o número em si não tem fuso horário. Para o ler, escolhe-se um fuso para a apresentação. O conversor mostra o resultado em UTC e na hora local do seu dispositivo, lado a lado.

Porque é que o meu timestamp dá uma data em 1970?

Ou o valor está em segundos e foi lido como milissegundos, ou é zero ou está vazio onde se esperava uma hora real. Mude a unidade para segundos e converta de novo. Uma data muito distante no futuro indica o erro contrário.

O que significa o Z no fim do resultado?

O resultado usa o formato ISO 8601, por exemplo 2024-01-01T00:00:00.000Z. O T separa a data da hora, e o Z indica que a hora está em UTC. Uma data não é um instante explica porque é que essa marca importa.

Que intervalo de datas pode ser convertido?

Timestamps até 100 milhões de dias antes ou depois da época, que é o limite das datas em JavaScript. Ao converter uma data em timestamp, o campo de data aceita os anos de 0001 a 9999.

Os cálculos são feitos no seu navegador. Não precisa de conta e os dados introduzidos não são enviados para o nosso servidor. Saiba como funcionam os nossos relógios.

Artigos relacionados

Pesquisar cidades e ferramentas

Escreva para pesquisar · Esc para fechar