Conversor de Timestamp UNIX (online) | Data e Hora

Timestamp UNIX atual

Segundos
Milissegundos

Timestamp → Data e Hora


Data e Hora → Timestamp

Conversor de Timestamp UNIX (online)

Este conversor de timestamp UNIX permite converter rapidamente tempo UNIX (epoch time / tempo POSIX) para data e hora e vice-versa. Suporta timestamp em segundos e milissegundos, exibe hora local, UTC e ISO 8601, e os resultados podem ser copiados com um clique.


O que é timestamp UNIX (epoch time / tempo POSIX)?

Timestamp UNIX é um número que representa o tempo como o número de segundos desde 1º de janeiro de 1970 00:00:00 UTC (a chamada epoch UNIX). Na prática, é um dos formatos mais utilizados para armazenar e transferir datas e horas em sistemas, bancos de dados, APIs e logs.

Exemplo: 1700000000 corresponde à data de 14 de novembro de 2023 22:13:20 UTC.

Por que 1º de janeiro de 1970?

O início da época (1970-01-01) foi escolhido durante o design do UNIX como um ponto de referência prático: está próximo ao período de criação do sistema e permite cálculos de tempo simples.


Timestamp UNIX em segundos vs. milissegundos

O timestamp UNIX aparece mais frequentemente em duas formas:

Formato do TimestampExemploUso Típico
Segundos (s)1700000000bancos de dados, backend, API, arquivos
Milissegundos (ms)1700000000000JavaScript (Date.now()), análises, logs detalhados

Como saber qual formato você tem?

  • Os segundos para datas “atuais” geralmente têm 10 dígitos.
  • Os milissegundos geralmente têm 13 dígitos e são aproximadamente 1000 vezes maiores.
  • Orientação: se o valor for > 10¹², é quase certamente milissegundos.

Como usar o Conversor de Timestamp UNIX

1) Timestamp → Data e Hora

  1. Insira o timestamp UNIX no campo, ou clique em Agora (tempo UNIX atual).
  2. Se o timestamp estiver em milissegundos, ative a opção Milissegundos.
  3. Clique em Converter (ou pressione Enter).
  4. A conversão para hora local, UTC e ISO 8601 será exibida.
  5. Clicando no resultado, você o copiará para a área de transferência.

2) Data e Hora → Timestamp

  1. Selecione a data e hora no formulário.
  2. Clique em Converter.
  3. Você receberá o resultado como timestamp em segundos e milissegundos.

Onde o timestamp UNIX é mais usado?

O tempo UNIX é encontrado praticamente em todo lugar onde o tempo é trabalhado em TI:

  • Bancos de dados – armazenamento e comparação de tempos em MySQL, PostgreSQL, SQLite, etc.
  • APIs – REST/GraphQL frequentemente retornam tempo como timestamp (serialização fácil).
  • Logs e monitoramento – ordenação precisa de eventos no tempo.
  • Git – commits contêm dados de tempo.
  • Sistemas de arquivos – tempos como mtime/ctime/atime (última modificação, etc.).
  • JWT – claims iat (issued at) e exp (expires) são tipicamente em segundos da epoch.
  • Shell Linux/Unixdate +%s retorna o timestamp atual.
  • JavaScriptDate.now() retorna o tempo em milissegundos.

Exemplos práticos de conversão de tempo UNIX

JavaScript (timestamp ↔ data)

// Timestamp UNIX atual em segundos
const tsSeconds = Math.floor(Date.now() / 1000);

// Timestamp atual em milissegundos
const tsMs = Date.now();

// Timestamp (s) -> data
const dateFromSeconds = new Date(1700000000 * 1000);
console.log(dateFromSeconds.toISOString());

// Data -> timestamp (s)
const ts = Math.floor(new Date("2024-01-01T00:00:00Z").getTime() / 1000);
console.log(ts);

Python (timestamp ↔ datetime)

import time
from datetime import datetime, timezone

# Timestamp atual em segundos
ts = int(time.time())

# Timestamp -> datetime (UTC)
dt_utc = datetime.fromtimestamp(1700000000, tz=timezone.utc)

# Data -> timestamp
ts2 = int(datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp())

SQL (MySQL)

-- Timestamp UNIX atual (s)
SELECT UNIX_TIMESTAMP();

-- Timestamp -> data
SELECT FROM_UNIXTIME(1700000000);

-- Data -> timestamp
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');

Fusos Horários: UTC, Hora Local e ISO 8601

O timestamp UNIX está sempre em UTC – não contém informações sobre fuso horário ou horário de verão. A conversão para a hora local depende das configurações do navegador, do servidor ou da biblioteca utilizada.

Termos úteis para conhecer:

  • UTC – padrão global sem horário de verão/inverno.
  • GMT – para uso comum, praticamente idêntico ao UTC.
  • Offset – deslocamento em relação ao UTC (ex: UTC+1 no inverno, UTC+2 no verão).

Limites do Timestamp UNIX e o Problema do Ano 2038

O Problema do Ano 2038 (Year 2038 Problem)

Em alguns sistemas de 32 bits, o timestamp é armazenado como int32 com um máximo de 2.147.483.647, o que corresponde a 19 de janeiro de 2038 03:14:07 UTC. Após a sua ultrapassagem, pode ocorrer um estouro e um erro de tempo. Os sistemas modernos de 64 bits normalmente não têm este problema.

Alcance do Tempo UNIX de 64 bits

Valores de 64 bits cobrem um período extremamente amplo (na prática, “para sempre”). Valores negativos significam datas anteriores a 1º de janeiro de 1970.


FAQ – Perguntas Frequentes sobre Timestamp UNIX

O timestamp UNIX está em UTC ou na hora local? O timestamp UNIX está sempre em UTC. A hora local é gerada apenas após a conversão, de acordo com o fuso horário. Por isso, o conversor geralmente exibe tanto a hora UTC quanto a hora local.
Como sei se o timestamp está em segundos ou milissegundos? Para a época atual, o timestamp em segundos geralmente tem 10 dígitos. Em milissegundos, geralmente tem 13 dígitos e é aproximadamente 1000 vezes maior. Orientação: um valor > 10¹² costuma ser milissegundos.
O que significa um timestamp UNIX negativo? Um timestamp negativo representa uma data anterior a 1º de janeiro de 1970. Por exemplo, -1 corresponde a 31 de dezembro de 1969 23:59:59 UTC.
Como converter timestamp UNIX em SQL? No MySQL, você usa FROM_UNIXTIME(timestamp) e para o inverso UNIX_TIMESTAMP(data). No PostgreSQL, é tipicamente TO_TIMESTAMP(timestamp) e EXTRACT(EPOCH FROM data).
Por que a epoch UNIX começa em 1º de janeiro de 1970? É um ponto de referência escolhido historicamente desde os primórdios do UNIX: simples, prático e próximo ao período de desenvolvimento do sistema.