utilduck
Home · Desenvolvedor · Conversor de Timestamp Unix

Conversor de Timestamp Unix

Digite um timestamp Unix (segundos) ou uma data para converter entre eles instantaneamente.

UTC-
Local-
Timestamp (segundos)0

O que é um timestamp Unix?

Um timestamp Unix conta o número de segundos decorridos desde 00:00:00 UTC de 1º de janeiro de 1970 — chamado de época Unix (epoch). É um único número inteiro que identifica de forma exclusiva qualquer momento no tempo, independentemente do fuso horário, o que o torna o padrão universal para armazenar timestamps em bancos de dados e APIs.

Para converter um timestamp em uma data legível, divida por 86400 para obter dias e some a 1970-01-01. Na prática, navegadores e linguagens de programação fornecem funções embutidas que fazem isso. Timestamps negativos representam datas anteriores a 1970.

Como converter um timestamp Unix em data?

Para converter um timestamp Unix em data, trate-o como o número de segundos desde 00:00:00 UTC de 1º de janeiro de 1970 e some essa quantidade de segundos à época; para fazer o caminho inverso, subtraia a época de uma data UTC e conte os segundos decorridos. Exemplo: o timestamp 1000000000 se converte em 2001-09-09T01:46:40Z.

Passos para converter entre timestamp e data

  1. Considere o timestamp Unix como uma contagem de segundos inteiros decorridos desde a época, 1970-01-01T00:00:00 UTC.
  2. Multiplique por 1000 se seu ambiente de programação esperar milissegundos em vez de segundos (o objeto Date do JavaScript usa milissegundos).
  3. Some essa duração ao instante da época para obter a data e hora UTC correspondente.
  4. Para converter uma data de volta em timestamp, expresse a data em UTC, subtraia a época e conte o número de segundos inteiros entre elas.
  5. Timestamps anteriores a 1970 são representados como números negativos, contando segundos para trás a partir da época.

Fórmula do timestamp Unix

timestamp (segundos) = (data UTC) - (1970-01-01T00:00:00 UTC), medido em segundos
  • Época (epoch) = 1970-01-01T00:00:00 UTC, o ponto de referência fixo (timestamp 0)
  • 86400 = número de segundos em um dia, usado para converter uma contagem de dias em segundos e vice-versa

Exemplos de conversão de timestamp para data (UTC)

TimestampData e hora UTC
01970-01-01T00:00:00Z
10000000002001-09-09T01:46:40Z
17210880002024-07-16T00:00:00Z
17526240002025-07-16T00:00:00Z
17841600002026-07-16T00:00:00Z

Perguntas frequentes

Por que o timestamp Unix usa UTC em vez do meu horário local?

Usar um único ponto de referência UTC evita ambiguidade causada por fusos horários e mudanças de horário de verão — um timestamp sempre se refere ao mesmo instante exato em qualquer lugar do mundo, e cada aplicação o converte para o horário local do usuário apenas para exibição.

O que significa um timestamp negativo?

Um timestamp negativo representa um momento anterior à época, 1970-01-01T00:00:00 UTC. Por exemplo, -86400 significa 86.400 segundos (um dia) antes da época, ou seja, 1969-12-31T00:00:00 UTC.

Por que alguns sistemas usam milissegundos em vez de segundos?

O padrão de timestamp Unix é definido em segundos, mas algumas linguagens e APIs (notavelmente o Date.now() do JavaScript) usam milissegundos para maior precisão. Multiplique um timestamp em segundos por 1000 para obter milissegundos, ou divida um timestamp em milissegundos por 1000 para obter segundos.

O que acontece com os timestamps Unix depois do ano 2038?

Sistemas que armazenam o timestamp como um inteiro assinado de 32 bits sofrerão overflow em 19 de janeiro de 2038 às 03:14:07 UTC, um problema conhecido como o bug do ano 2038. A maioria dos sistemas modernos já usa inteiros de 64 bits para timestamps, o que estende o intervalo utilizável por bilhões de anos e evita esse overflow.

Esta ferramenta converte entre timestamps Unix e datas de calendário usando o objeto Date embutido no navegador; os resultados dependem do relógio e das configurações de fuso horário do seu dispositivo para a exibição no horário local, embora o timestamp e o valor UTC subjacentes sejam sempre inequívocos.

Sources: POSIX / IEEE Std 1003.1 — Base Definitions (Seconds Since the Epoch)