Conversor de Timestamp Unix
Converta entre timestamps Unix e datas legíveis. Suporta precisão de segundos e milissegundos.
Como Usar
- Insira um timestamp Unix para converter em uma data legível
- Ou escolha uma data e hora para converter em um timestamp Unix
- Alterne entre o formato de segundos e milissegundos
Perguntas Frequentes
-
O que é um timestamp Unix?
Um timestamp Unix é o número de segundos que passaram desde 1º de janeiro de 1970 (UTC), também conhecido como época Unix. É amplamente usado em programação e bancos de dados.
-
Qual é a diferença entre timestamps em segundos e milissegundos?
Timestamps Unix em segundos têm 10 dígitos (ex.: 1700000000), enquanto timestamps em milissegundos têm 13 dígitos (ex.: 1700000000000). O JavaScript usa milissegundos, enquanto a maioria dos sistemas Unix usa segundos.
-
O que é o problema Y2K38?
Sistemas de 32 bits armazenam timestamps como um inteiro de 32 bits com sinal, que vai transbordar em 19 de janeiro de 2038. Sistemas modernos de 64 bits não têm essa limitação.
-
Esta ferramenta considera fusos horários?
A ferramenta exibe os horários em UTC e no seu fuso horário local para fácil comparação.
O Que é um Timestamp Unix?
Um timestamp Unix — também chamado de Unix epoch time ou POSIX time — é uma forma simples e universal de representar um momento no tempo: o número de segundos decorridos desde a Epoch Unix, definida como 00:00:00 UTC do dia 1º de janeiro de 1970.
Essa convenção foi estabelecida nos primórdios do sistema operacional Unix e se tornou o padrão de facto para representação de tempo em computação. Por ser apenas um número inteiro sem dependência de fuso horário, calendário ou localidade, os timestamps Unix são ideais para armazenamento em bancos de dados, comunicação entre sistemas e cálculos de diferença de tempo.
Por Que 1970?
A data de 1º de janeiro de 1970 foi escolhida de forma relativamente arbitrária pelos desenvolvedores do Unix — era "recente" suficiente para que os timestamps resultantes fossem números gerenciáveis, sem a complexidade de representar datas históricas.
Segundos vs. Milissegundos
Uma fonte frequente de confusão é que alguns sistemas usam timestamps em segundos (10 dígitos, ex.: 1700000000) enquanto outros usam milissegundos (13 dígitos, ex.: 1700000000000).
- Sistemas Unix/Linux: tradicionalmente usam segundos
- JavaScript (
Date.now(),new Date().getTime()): usa milissegundos - Java (
System.currentTimeMillis()): usa milissegundos - Python (
time.time()): retorna segundos com decimais (pode incluir microssegundos) - Bancos de dados: variam — MySQL usa segundos em
UNIX_TIMESTAMP(), enquanto JavaScript/MongoDB costumam usar milissegundos
Ao integrar sistemas diferentes, sempre verifique qual unidade está sendo usada. Interpretar milissegundos como segundos resultará em datas no ano 56000 aproximadamente; o inverso produzirá datas em 1970.
O Problema Y2K38
Sistemas de 32 bits armazenam timestamps como um inteiro de 32 bits com sinal, cujo valor máximo é 2.147.483.647. Esse número corresponde a 19 de janeiro de 2038 às 03:14:07 UTC — o momento em que o contador vai transbordar e voltar para um valor negativo, causando datas incorretas.
Esse problema, análogo ao Y2K de 2000, afeta:
- Sistemas embarcados e dispositivos IoT com firmware antigo
- Sistemas de banco de dados legados que armazenam timestamps em colunas
INT(11) - Bibliotecas C antigas em sistemas de 32 bits
Sistemas modernos de 64 bits não têm essa limitação — um inteiro de 64 bits com sinal pode representar datas por mais de 292 bilhões de anos, bem além de qualquer preocupação prática.
Timestamps em Bancos de Dados e APIs
Armazenamento
Armazenar datas como timestamps Unix inteiros é uma prática comum em bancos de dados por ser eficiente (ocupa apenas 4 ou 8 bytes), independente de fuso horário e fácil de indexar e comparar.
APIs REST
Muitas APIs retornam datas como timestamps Unix para evitar ambiguidades de fuso horário e formatação. Ao consumir uma API, sempre verifique a documentação para saber se o campo de data é em segundos ou milissegundos.
ISO 8601 como Alternativa
Para comunicação entre sistemas onde a legibilidade humana importa, o formato ISO 8601 (2024-01-15T14:30:00Z) é preferível ao timestamp Unix. Ambos têm seu lugar: timestamps para operações internas e cálculos, ISO 8601 para interfaces e logs.