Conversor de timestamp Unix
Converta entre timestamps Unix e datas legíveis.
177911068517791106853902026-05-18T13:24:45.390ZO 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.