Conversor de timestamp Unix

Converte um timestamp de época Unix numa data legível - ou converte qualquer data e hora no respetivo timestamp Unix.

Tempo Unix atual

Timestamp → Data

Data → Timestamp

O que é um timestamp Unix?

Um timestamp Unix (também chamado tempo Unix ou tempo de época) é o número de segundos decorridos desde 1 de janeiro de 1970 às 00:00:00 UTC - um momento conhecido como a época Unix. É uma forma independente do fuso horário de representar um único ponto no tempo como um simples número inteiro.

Os timestamps Unix são usados em todo o lado na informática: registos de bases de dados, ficheiros de log, respostas de APIs, tokens JWT, metadados do sistema de ficheiros e muito mais. Quando vês um número grande como 1700000000 num código ou numa API, é quase sempre um timestamp Unix.

Segundos vs. milissegundos

Os timestamps Unix padrão estão em segundos. O Date.now() do JavaScript devolve milissegundos - um valor 1.000× maior. Se um timestamp tem 13 dígitos, provavelmente está em milissegundos; 10 dígitos significam segundos. Cola segundos de 10 dígitos ou milissegundos de 13 dígitos; os valores de 13 dígitos são convertidos automaticamente.

O problema do ano 2038

Em sistemas de 32 bits, os timestamps Unix são guardados como um inteiro de 32 bits com sinal, que transborda a 19 de janeiro de 2038 às 03:14:07 UTC - depois disso, os timestamps passariam a um grande número negativo. A maioria dos sistemas modernos usa inteiros de 64 bits, que só transbordarão dentro de cerca de 292 mil milhões de anos.

UTC vs. hora local

Os timestamps Unix estão sempre em UTC. A data apresentada por esta ferramenta é convertida para o teu fuso horário local, por isso o mesmo timestamp pode mostrar uma data e hora diferentes consoante o sítio onde estás.

Como funciona a conversão

O tempo Unix trata cada dia como tendo exatamente 86.400 segundos. Para transformar um timestamp numa data, divide por 86.400: a parte inteira é o número de dias desde 1 de janeiro de 1970 e o resto é a hora do dia em UTC.

Um exemplo prático com 1700000000: 1.700.000.000 ÷ 86.400 = 19.675 dias com 80.000 segundos a sobrar. 19.675 dias depois de 1 de janeiro de 1970 é 14 de novembro de 2023, e 80.000 segundos são 22 horas, 13 minutos e 20 segundos. Portanto, o timestamp é terça-feira, 14 de novembro de 2023, às 22:13:20 UTC. Em Nova Iorque são 17:13:20 do mesmo dia; em Tóquio são 7:13:20 de quarta-feira, 15 de novembro.

O sentido inverso usa o fuso horário do teu dispositivo. Se introduzires a meia-noite de 1 de janeiro de 2027 em Londres, o resultado é 1798761600. A mesma hora local em Nova Iorque é cinco horas mais tarde em UTC, por isso dá 1798779600.

Casos limite

Quanto ao limite de 2038 em si: o maior valor de 32 bits com sinal, 2147483647, é 19 de janeiro de 2038 às 03:14:07 UTC. Um segundo depois, um contador de 32 bits passa a -2147483648, que corresponde a 13 de dezembro de 1901 às 20:45:52 UTC.

Utilizações práticas

Os programadores usam um conversor como este para ler timestamps em logs e linhas de bases de dados, para verificar quando expira um token ou um cookie e para definir um momento preciso para uma tarefa agendada. Um marco mais pequeno também está próximo: o tempo Unix passa 1800000000 a 15 de janeiro de 2027 às 08:00 UTC.

Conta os dias até um timestamp no iPhone

Se um timestamp assinala algo que te importa, como a expiração de um certificado, o encerramento de uma API ou um lançamento, podes mantê-lo à vista com o Left.

  1. Converte o timestamp acima para ver a sua data e hora locais.
  2. No Left, abre Futuras e toca em Adicionar uma data Futuras, depois em Nova data.
  3. Dá-lhe um nome e define Começa como essa data e hora. Ativa Receber lembrete se quiseres um aviso antes.
  4. Adiciona o widget Futuras ao ecrã principal, ou ao ecrã bloqueado com Personalizar, e escolhe a data em Editar widget.

Perguntas

Qual é o timestamp Unix atual?

O número no topo do conversor é o tempo Unix atual em segundos e atualiza-se a cada segundo. Em novembro de 2026, é um pouco menos de 1,8 mil milhões.

Um timestamp Unix está em segundos ou em milissegundos?

O tempo Unix padrão é em segundos, o que hoje dá 10 dígitos. O JavaScript e muitas APIs usam milissegundos, que dão 13 dígitos; o conversor de milissegundos Unix trata-os com precisão total.

O que acontece ao tempo Unix em 2038?

Um contador de segundos de 32 bits com sinal atinge o seu máximo, 2.147.483.647, a 19 de janeiro de 2038 às 03:14:07 UTC. Um segundo depois, passa a um número negativo que corresponde a 13 de dezembro de 1901. Os sistemas que guardam o tempo como um número de 64 bits não são afetados.

Um timestamp Unix tem fuso horário?

Não. Conta segundos a partir de um momento definido em UTC, por isso o mesmo timestamp significa o mesmo instante em todo o lado. Só a forma como é apresentado muda com o teu fuso horário.

Um timestamp Unix pode ser negativo?

Sim. Os valores negativos contam para trás a partir de 1 de janeiro de 1970. Por exemplo, -86400 é 31 de dezembro de 1969 às 00:00:00 UTC.

O tempo Unix conta segundos intercalares?

Não. O tempo Unix trata cada dia como tendo exatamente 86.400 segundos, por isso os segundos intercalares ficam de fora.

Transferir o Left

Mantém o tempo onde olhas.

O Left põe contagens decrescentes, progresso do ano, hábitos e sequências no ecrã principal, no ecrã bloqueado e no Apple Watch.

Lê o código ou pesquisa «Left» na App Store.

Transferir para iOS