raatools/

Conversor de timestamp Unix

Converta entre timestamps Unix e datas legíveis.

Current Timestamp
Segundos
1779110685
Milissegundos
1779110685390
ISO: 2026-05-18T13:24:45.390Z

O que é um timestamp Unix?

Um timestamp Unix (também chamado de tempo Epoch ou tempo POSIX) é o número de segundos decorridos desde 1 de janeiro de 1970 às 00:00:00 UTC. Este momento é chamado de Unix Epoch. Os timestamps fornecem uma forma universal e independente de fuso horário de representar um momento específico no tempo como um único número, tornando-os o padrão para armazenar e transmitir datas em sistemas de computação.

Por exemplo, o timestamp 1700000000 representa 14 de novembro de 2023 às 22:13:20 UTC. Os timestamps aumentam de um em um segundo e estão sempre em UTC, o que elimina a ambiguidade de fuso horário. Esta simplicidade explica por que os timestamps são usados em bases de dados, APIs, ficheiros de log, sistemas de cache e praticamente em todas as aplicações de backend.

Segundos vs. milissegundos

A maioria dos sistemas Unix e linguagens como Python, PHP e Ruby usa timestamps em segundos (um número de 10 dígitos até 2024). Contudo, o JavaScript, Java e algumas bases de dados usam milissegundos (um número de 13 dígitos). Esta ferramenta deteta o formato automaticamente — se o número tiver 13 dígitos, trata-o como milissegundos. Também pode alternar manualmente entre os dois formatos.

Como utilizar esta ferramenta

Insira um timestamp Unix (em segundos ou milissegundos) para o converter numa data e hora legível por humanos, ou selecione uma data e hora para obter o timestamp correspondente. O timestamp atual é mostrado em tempo real como referência. A ferramenta apresenta os resultados tanto em UTC como no seu fuso horário local para que possa ver ambas as representações.

Usos comuns dos timestamps

  • Logging: Registar os tempos exatos dos eventos em logs de aplicações e servidores para depuração e auditoria.
  • Bases de dados: Armazenar datas num formato padronizado e independente de fuso horário que ordena corretamente.
  • APIs: Transmitir datas entre sistemas de forma fiável sem ambiguidade na análise de fusos horários.
  • Cache: Rastrear tempos de criação e expiração de cache com simples comparações numéricas.
  • Limitação de taxa: Impor limites de pedidos comparando o tempo atual com timestamps armazenados.

Datas importantes em timestamps Unix

  • Unix Epoch (1 de janeiro de 1970): Timestamp 0 — o ponto de partida para todo o tempo Unix.
  • Y2K (1 de janeiro de 2000): Timestamp 946.684.800.
  • Problema do ano 2038 (19 de janeiro de 2038): Os timestamps de 32 bits com sinal transbordam em 2.147.483.647. Os sistemas que usam tempo de 32 bits voltarão a valores negativos ou falharão.
  • Bilênio (9 de setembro de 2001): Timestamp 1.000.000.000 — o primeiro timestamp de 10 dígitos.

O problema do ano 2038

Muitos sistemas mais antigos armazenam timestamps como inteiros de 32 bits com sinal, que podem conter valores até 2.147.483.647. Este máximo é atingido em 19 de janeiro de 2038 às 03:14:07 UTC. Após esse momento, os timestamps de 32 bits transbordam e retornam a valores negativos, potencialmente representando datas em 1901. Os sistemas modernos de 64 bits não são afetados — um timestamp de 64 bits não transbordará por mais 292 mil milhões de anos.

Os meus dados estão seguros?

Sim. Toda a conversão acontece inteiramente no seu browser usando o objeto Date do JavaScript. Os seus dados nunca saem do dispositivo. Nenhum timestamp ou data é registado, armazenado ou transmitido.

Perguntas frequentes

Os timestamps Unix têm em conta os segundos bissextos?

Não. Os timestamps Unix ignoram deliberadamente os segundos bissextos. Cada dia é tratado como exatamente 86.400 segundos. Quando ocorre um segundo bissexto, o timestamp Unix repete um segundo ou salta um, dependendo do sistema operativo. Esta simplificação mantém a aritmética de timestamps simples.

Como obtenho o timestamp Unix atual no meu código?

Em JavaScript: Math.floor(Date.now() / 1000). Em Python: import time; int(time.time()). Em PHP: time(). Em Bash: date +%s. Todos retornam o tempo atual como um timestamp Unix em segundos.