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:
ISO 8601
Formato Brasileiro
UTC
Tempo relativo
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.