Ir para o conteúdo principal
DH .COM.BR

Conversor Epoch

Converta entre epoch (Unix timestamp) e data legível

Epoch atual (atualiza a cada segundo)

Insira um epoch (em segundos) para ver a data correspondente em múltiplos formatos.

Preencher com:

Marcos Epoch Importantes

Evento Epoch Data (UTC)
Unix Epoch 0 01/01/1970 00:00:00
Bilhão de segundos 1000000000 09/09/2001 01:46:40
Y2K (Ano 2000) 946684800 01/01/2000 00:00:00
Epoch atual
2 bilhoes de segundos 2000000000 18/05/2033 03:33:20
Y2K38 (limite 32-bit) 2147483647 19/01/2038 03:14:07

O que é Epoch (Unix Timestamp)?

O epoch (também chamado de Unix timestamp, POSIX time ou epoch time) é o número de segundos que se passaram desde 1 de janeiro de 1970 às 00:00:00 UTC. Essa data de referência é conhecida como Unix Epoch.

Esse sistema foi criado para os primeiros sistemas Unix na década de 1970 e se tornou o padrão universal para representar datas em computadores. Sua simplicidade — um único número inteiro — facilita cálculos de diferença de tempo, ordenação cronológica e armazenamento eficiente.

O epoch é independente de fuso horário, pois sempre se refere ao UTC. Isso o torna ideal para aplicações distribuídas, APIs REST, bancos de dados e logs de sistema onde a precisão temporal é essencial.

Exemplos de Conversão em Código

JavaScript

// Epoch atual em segundos
const epoch = Math.floor(Date.now() / 1000);

// Epoch → Data
const data = new Date(1700000000 * 1000);
console.log(data.toISOString());
// → "2023-11-14T22:13:20.000Z"

// Data → Epoch
const epoch2 = Math.floor(new Date('2024-01-01').getTime() / 1000);
// → 1704067200

Python

import time
from datetime import datetime

# Epoch atual
epoch = int(time.time())

# Epoch → Data
dt = datetime.utcfromtimestamp(1700000000)
print(dt.isoformat())  # "2023-11-14T22:13:20"

# Data → Epoch
dt2 = datetime(2024, 1, 1)
epoch2 = int(dt2.timestamp())  # 1704067200

PHP

// Epoch atual
$epoch = time();

// Epoch → Data
echo date('Y-m-d H:i:s', 1700000000);
// → "2023-11-14 22:13:20"

// Data → Epoch
$epoch2 = strtotime('2024-01-01');
// → 1704067200

Perguntas Frequentes

O que é epoch time (Unix timestamp)?

Epoch time, ou Unix timestamp, é o número de segundos que se passaram desde 1 de janeiro de 1970 às 00:00:00 UTC. Essa data de referência é chamada de Unix Epoch e é usada universalmente em sistemas operacionais, bancos de dados e linguagens de programação para representar datas de forma numérica.

Qual a diferença entre epoch em segundos e milissegundos?

O epoch tradicional conta segundos desde a Unix Epoch (ex.: 1700000000). Já linguagens como JavaScript e algumas APIs retornam milissegundos (ex.: 1700000000000 — com 3 zeros a mais). Para converter milissegundos em segundos, divida por 1000. Nosso conversor mostra ambos os formatos.

O epoch considera fusos horários?

Não. O epoch é sempre baseado em UTC (Tempo Universal Coordenado) e não possui informação de fuso horário. A conversão para horário local é feita pela aplicação no momento da exibição. Isso torna o epoch ideal para armazenar datas de forma universal e sem ambiguidade.

O que acontece com epoch negativo?

Um epoch negativo representa uma data anterior a 1 de janeiro de 1970. Por exemplo, o epoch -86400 equivale a 31 de dezembro de 1969. Isso é útil para representar datas históricas em sistemas que suportam timestamps negativos.

O que é o bug do ano 2038 (Y2K38)?

Em sistemas de 32 bits, o epoch é armazenado como um inteiro com sinal cujo valor máximo é 2.147.483.647. Esse limite será atingido em 19 de janeiro de 2038 às 03:14:07 UTC, causando overflow. Sistemas de 64 bits já resolvem o problema ao suportar timestamps por bilhões de anos.

Como obter o epoch atual em diferentes linguagens?

Em JavaScript: Math.floor(Date.now() / 1000). Em Python: import time; int(time.time()). Em PHP: time(). Em Java: System.currentTimeMillis() / 1000. Em Bash: date +%s. Todos retornam o epoch em segundos.

Ferramentas Relacionadas