Conversor de Timestamp Unix

Cole um timestamp ou uma data e receba todas as outras formas.

Hora Unix atual
Segundos Unix
Milissegundos
ISO 8601 (UTC)
UTC
Hora local
Relativa
Dia da semana
Dia do ano
Semana ISO

O que é um timestamp Unix

Um timestamp Unix (também chamado de epoch time ou tempo POSIX) é o número de segundos que se passaram desde 00:00:00 UTC de 1º de janeiro de 1970, sem contar os leap seconds. É a forma mais comum de os computadores armazenarem e trocarem pontos no tempo porque é um único número inteiro que não depende de fusos horários, calendários ou formatos de locale. Bancos de dados, arquivos de log, tokens JWT, APIs e sistemas operacionais todos o usam, e é por isso que os desenvolvedores constantemente precisam traduzir entre um número cru como 1700000000 e uma data que um humano consiga ler.

Sistemas diferentes usam precisões diferentes. O Unix e a maioria dos bancos de dados armazenam segundos (10 dígitos hoje). O Date.now() do JavaScript e o System.currentTimeMillis() do Java retornam milissegundos (13 dígitos). Alguns sistemas de log e o pacote time do Go expõem microssegundos (16 dígitos) ou nanossegundos (19 dígitos). Este conversor detecta a unidade automaticamente pelo número de dígitos, então você pode colar qualquer uma delas sem escolher um formato.

Como usar este conversor

O relógio ao vivo no topo mostra o timestamp Unix atual em segundos e se atualiza a cada segundo; clique em Copiar para pegá-lo ou em Usar agora para carregá-lo no conversor. Cole um timestamp na caixa de entrada e a tabela é preenchida instantaneamente: segundos, milissegundos, ISO 8601 (o padrão usado pela maioria das APIs), string UTC no formato RFC 1123, a data e a hora no seu fuso horário local com o nome dele, uma descrição relativa como 'em 3 dias' ou '2 horas atrás', o dia da semana, o dia do ano e o número da semana ISO.

O conversor também funciona no sentido inverso. Digite uma data como 2025-03-01, 2025-03-01T14:30:00Z ou 1 de março de 2025 14:30 e ela é interpretada pelo motor de datas do seu navegador e convertida em segundos e milissegundos epoch. Datas sem um fuso explícito são interpretadas no seu fuso horário local, exatamente como o JavaScript faz.

Fusos horários, ISO 8601 e armadilhas comuns

Um timestamp em si não tem fuso horário; apenas a sua exibição tem. O mesmo valor 1700000000 é 22:13 em Londres e 06:13 do dia seguinte em Xangai. Quando dois sistemas divergem em exatamente algumas horas, uma confusão de fuso horário quase sempre é a causa. Prefira trocar strings ISO 8601 com um Z explícito ou um offset (2024-11-14T22:13:20Z) ou números epoch crus, em vez de strings de data local. Outro bug clássico é misturar segundos e milissegundos: uma data no ano 55000 ou em 1970 geralmente significa uma incompatibilidade de unidade, e a nota 'detectado como' abaixo da entrada informa qual unidade foi assumida. Por fim, lembre-se do limite de 32 bits: sistemas que armazenam segundos em um inteiro de 32 bits com sinal estouram em 19 de janeiro de 2038.

Contexto: por que 1970?

O epoch Unix foi escolhido pelos desenvolvedores do Unix no Bell Labs no início dos anos 1970; a primeira edição contava 60 avos de segundo a partir de 1971 e estourava em poucos meses, então foi alterada para segundos inteiros a partir de 1º de janeiro de 1970 — uma data redonda e seguramente no passado recente. Como ignora os leap seconds, cada dia Unix tem exatamente 86.400 segundos, o que torna a aritmética trivial e é o motivo pelo qual o formato se espalhou do Unix para todo banco de dados, linguagem de programação e protocolo de rede. O problema do ano 2038, quando os contadores de 32 bits com sinal dão a volta, é o legado direto daquele projeto inicial; os sistemas modernos armazenam valores de 64 bits e estão seguros pelos próximos 292 bilhões de anos.

Onde é usado

Timestamps são as claims exp, iat e nbf dentro de um token JWT, as colunas created_at em quase todo banco de dados, o primeiro campo da maioria das linhas de log, cabeçalhos de cache HTTP, sistemas de cron e agendamento, cabeçalhos de blocos de blockchain, metadados de sistema de arquivos (mtime) e a lógica de ETag/Last-Modified que decide se uma CDN pode reutilizar uma página em cache. Quando um chamado de suporte diz 'a exportação falhou em 1718000000', este conversor é como você transforma isso em uma hora em um calendário humano; ao escrever testes, converter uma data fixa em segundos epoch dá a você um valor estável e independente de fuso horário para usar nas asserções. Dados estruturados neste site, e em qualquer API JSON que você construir, devem usar strings ISO 8601 para legibilidade e inteiros epoch para aritmética.

Perguntas frequentes

Como obtenho o timestamp Unix atual?

Ele é mostrado ao vivo no topo desta página. Em código: date +%s em um shell, Math.floor(Date.now()/1000) em JavaScript, int(time.time()) em Python.

O timestamp está em segundos ou milissegundos?

Valores de 10 dígitos são segundos, valores de 13 dígitos são milissegundos. O conversor detecta isso automaticamente pelo comprimento e informa qual unidade assumiu.

Qual fuso horário é usado para a hora local?

O fuso horário do seu navegador, mostrado ao lado do relógio. As linhas UTC e ISO 8601 estão sempre em UTC, então são seguras para colar em outros sistemas.

Por que minha data está errada por um dia?

Uma string de data sem hora ou fuso é interpretada à meia-noite local; convertê-la para UTC pode movê-la para o outro lado da fronteira de data. Use uma hora e um fuso explícitos (por exemplo, 2025-03-01T00:00:00Z) para evitar ambiguidade.

Isto lida com timestamps negativos e datas anteriores a 1970?

Sim. Valores negativos contam para trás a partir do epoch, então -86400 é 31 de dezembro de 1969.