Pular para o conteúdo principal

Conversor de Timestamp Unix

Converta timestamps Unix para datas legíveis e vice-versa. Suporta segundos e milissegundos.

Tempo Unix Atual

Sobre Timestamps Unix

Um timestamp Unix (também chamado de tempo POSIX ou tempo de época) conta o número de segundos decorridos desde a meia-noite UTC de 1 de janeiro de 1970. Este ponto de referência, conhecido como época Unix, foi escolhido quando Ken Thompson e Dennis Ritchie projetaram o sistema de tempo para o sistema operacional Unix original nos Bell Labs. O inteiro com sinal de 32 bits usado para armazenar timestamps nos primeiros sistemas pode representar datas de 13 de dezembro de 1901 a 19 de janeiro de 2038, quando o contador transborda. Este é o problema Y2K38; a maioria dos sistemas modernos migrou para timestamps de 64 bits.

Timestamps aparecem em todo o desenvolvimento de software: registros de banco de dados, respostas de API, arquivos de log, tokens JWT, cabeçalhos HTTP e sistemas de build. Precisão em segundos é a mais comum, mas Date.now() do JavaScript e muitas APIs retornam valores em milissegundos (13 dígitos em vez de 10). Este conversor detecta automaticamente o formato com base na magnitude.

Esta ferramenta converte bidirecionalmente entre timestamps Unix e datas legíveis. Insira um timestamp ou selecione uma data, e a outra visualização é atualizada instantaneamente. O tempo Unix atual é mostrado ao vivo para referência.

Perguntas Frequentes

O que é um timestamp Unix (tempo epoch)?

Um timestamp Unix é o número de segundos decorridos desde 1 de janeiro de 1970, 00:00:00 UTC, um momento conhecido como época Unix. Ele fornece uma representação inteira única de qualquer ponto no tempo, tornando-o a forma padrão de armazenar e transmitir tempo em bancos de dados, APIs, arquivos de log e linguagens de programação.

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

O problema Y2K38 ocorre porque muitos sistemas antigos armazenam timestamps Unix como um inteiro com sinal de 32 bits, cujo valor máximo é 2.147.483.647, correspondente a 19 de janeiro de 2038 às 03:14:07 UTC. Após esse segundo, o contador transborda e passa para um número negativo representando uma data de dezembro de 1901. A maioria dos sistemas modernos agora usa timestamps de 64 bits, que não transbordarão por 292 bilhões de anos.

Como saber se um timestamp está em segundos ou milissegundos?

Conte os dígitos. Um timestamp Unix em segundos para datas entre 2001 e 2286 tem 10 dígitos (ex. 1700000000). Um em milissegundos tem 13 dígitos (ex. 1700000000000). Date.now() do JavaScript retorna milissegundos, enquanto a maioria das ferramentas de linha de comando Unix e muitas APIs usam segundos. Este conversor detecta automaticamente o formato com base na magnitude.

Os timestamps Unix consideram segundos intercalares?

Não. O tempo Unix ignora deliberadamente os segundos intercalares. O padrão POSIX define cada dia como exatamente 86.400 segundos. Quando um segundo intercalar é inserido (como aconteceu 27 vezes entre 1972 e 2016), os relógios Unix repetem um segundo, ajustam o relógio gradualmente ou retrocedem. Os timestamps Unix não são uma contagem perfeitamente contínua de segundos SI, mas a simplificação torna a aritmética de datas muito mais fácil.

O que significa um timestamp Unix negativo?

Um timestamp Unix negativo representa uma data anterior à época Unix (1 de janeiro de 1970). Por exemplo, -86400 corresponde a 31 de dezembro de 1969. Timestamps negativos são válidos e comumente usados para representar datas históricas em bancos de dados e programação. A data mais antiga que um timestamp de 32 bits com sinal pode representar é 13 de dezembro de 1901.