ToolActToolAct

Conversor de Timestamp

Converta entre timestamps Unix e formatos de data e hora

0
Clique timestamp para copiar (Horário de Brasília UTC-3)

Timestamp para Data

Formato Padrão-
ISO 8601-
Formato Chinês-
Formato Personalizado-

Data para Timestamp

Timestamp em Segundos-
Timestamp em Milissegundos-
Tempo Unix-

Comparação de Fuso Horário Global

北京 (UTC+8)--
东京 (UTC+9)--
新加坡 (UTC+8)--
伦敦 (UTC+0/+1)--
巴黎 (UTC+1/+2)--
纽约 (UTC-5/-4)--
洛杉矶 (UTC-8/-7)--
悉尼 (UTC+10/+11)--

Exemplos de Formato Comuns

YYYY-MM-DD HH:mm:ss
YYYY/MM/DD HH:mm:ss
YYYY-MM-DD
HH:mm:ss
YYYYMMDDHHmmss

O que é um Timestamp?

Um timestamp é um valor numérico representando um tempo específico. O timestamp Unix é o número de segundos passados desde 1 de janeiro de 1970 00:00:00 UTC (chamado Epoch Unix). É a forma padrão de representar tempo em sistemas computacionais, com consistência entre plataformas e fusos horários. Timestamps são divididos em nível de segundos (10 dígitos) e nível de milissegundos (13 dígitos). Timestamps de segundos são comumente usados em sistemas Unix/Linux, enquanto milissegundos são comuns em JavaScript e outras linguagens de programação. Com timestamps, a primeira pergunta é se o valor está em segundos, milissegundos ou horário local formatado. Timestamps Unix representam instantes independentes de fuso, mas a exibição como data depende de fuso horário e horário de verão. A ferramenta é útil para depurar logs, APIs, bancos, expiração de cache e eventos agendados. Em comunicação com usuários, o fuso deve aparecer claramente para evitar datas locais diferentes.

Como Usar

Timestamp para Data

  1. Insira um timestamp Unix no cartão da esquerda
  2. Selecione o fuso horário de destino (ex.: UTC+8)
  3. Clique no botão converter para ver a data e hora convertidas
  4. Os resultados incluem: formato padrão, ISO 8601, formato local e mais

Data para Timestamp

  1. Selecione data e hora no cartão da direita
  2. Selecione o fuso horário de origem usado por essa data e hora
  3. Clique no botão converter para obter o timestamp Unix
  4. Os resultados incluem timestamps em segundos e milissegundos

Dicas de Fuso Horário

  • Verifique se o valor de origem usa segundos ou milissegundos; misturar timestamps de 10 e 13 dígitos é uma causa comum de datas erradas.
  • Sempre confirme o fuso horário pretendido ao converter datas legíveis, especialmente em logs, tarefas agendadas e sistemas multi-região.

Casos de uso

Converter timestamps Unix em datas legíveisCole um timestamp em segundos ou milissegundos e a ferramenta detecta automaticamente valores curtos em segundos, convertendo-os para milissegundos quando necessário, e exibe datas nos formatos padrão, ISO, chinês e personalizado no fuso horário selecionado. Um valor de 10 dígitos é tratado como segundos e um de 13 dígitos como milissegundos, o que captura o erro de mistura mais comum antes que ele se propague para uma data incorreta.
Criar timestamps a partir de entrada de data e horaEscolha uma data e hora local e converta para segundos, milissegundos e um exemplo de comando Unix date. Ações rápidas podem definir o campo de timestamp para hoje, amanhã, início da semana, início do mês ou início do ano. A conversão lê apenas o relógio local do navegador, sem consulta a serviços de horário, NTP ou APIs remotas, o que mantém o cálculo reproduzível em qualquer máquina com o relógio corretamente ajustado.
Comparar a hora atual nos principais fusos horáriosA página atualiza o timestamp atual a cada segundo, mostra horários ao vivo para cidades como Pequim, Tóquio, Londres, Paris, Nova York, Los Angeles e Sydney, e fornece exemplos de formatos comuns que podem ser copiados diretamente. Os dois formatos de exibição, ISO 8601 e RFC 3339, são quase idênticos; ISO 8601 permite muitos separadores opcionais enquanto RFC 3339 é um perfil mais restrito que fixa o formato e exige um offset explícito.
Traduzir linhas de log entre formatosCole uma entrada de log como '2024-05-12T08:30:00Z' ou '1700000000' no campo de entrada, alterne entre os formatos padrão, ISO, RFC, chinês e personalizado, e copie a variante que corresponde ao seu pipeline de log ou consulta grep.
Verificar TTL de cache e expiração de JWTSubtraia os segundos atuais do Epoch de um valor de 'Cache-Control: max-age', ou cole um claim exp de JWT para confirmar se um token ainda está válido, prestes a expirar ou já expirado. Sempre verifique junto ao serviço emissor antes de revogar sessões. Sistemas legados que armazenam segundos Unix em um inteiro com sinal de 32 bits sofrerão overflow em 2038-01-19 03:14:07 UTC, o chamado problema Y2038.

Princípio técnico

Um timestamp Unix conta o tempo decorrido desde o Epoch Unix, definido como 1970-01-01T00:00:00Z, que é o ponto zero que o tempo POSIX usa para rotular cada instante posterior. O tempo POSIX ignora deliberadamente os segundos bissextos: cada dia civil é tratado como exatamente 86.400 segundos, então dois timestamps que abrangem uma inserção de segundo bissexto terão um segundo de diferença em relação a uma contagem estrita de relógio atômico, mas a troca é que a conversão entre segundos do epoch e campos de calendário UTC permanece um divmod limpo por 86.400. Os dois formatos que aparecem diariamente são segundos (10 dígitos hoje, ex.: 1717000000) e milissegundos (13 dígitos, ex.: 1717000000000). O Date.now() do JavaScript retorna milissegundos desde o epoch e `new Date(ms)` espera milissegundos, enquanto o `date +%s` do Unix, o time.Unix do Go e a maioria das colunas TIMESTAMP de bancos de dados usam segundos. A detecção por comprimento é a desambiguação usual: um valor de 10 dígitos cai na faixa 2001-2286 quando lido como segundos, e o mesmo valor lido como milissegundos estaria dentro de 1970. Exibir um timestamp requer um fuso horário. O UTC é escrito com o sufixo `Z`; outros offsets usam `±HH:MM` (ex.: `+08:00` para Hora Padrão da China, `-05:00` para Hora Padrão do Leste dos EUA). O ISO 8601 permite vários separadores opcionais enquanto o RFC 3339 é um perfil mais restrito que os fixa, é por isso que especificações de API geralmente exigem RFC 3339 com um offset explícito. Sistemas legados que armazenam segundos do epoch em um inteiro com sinal de 32 bits sofrem overflow no valor máximo positivo 2147483647, que decodifica para 2038-01-19T03:14:07Z (o problema Y2038); o armazenamento de 64 bits empurra o limite muito além da relevância humana.

  • O Epoch Unix é fixado em 1970-01-01T00:00:00Z e o tempo POSIX ignora segundos bissextos, então cada dia é tratado como exatamente 86.400 segundos.
  • O Date.now() do JavaScript retorna milissegundos; `Math.floor(Date.now() / 1000)` converte para timestamp em nível de segundos.
  • Limite Y2038: timestamp com sinal de 32 bits sofre overflow em 2147483647 = 2038-01-19T03:14:07Z; armazenamento de 64 bits evita isso.
  • ISO 8601 vs RFC 3339: RFC 3339 é um perfil ISO 8601 mais restrito que exige um offset explícito (`Z` ou `±HH:MM`) e é preferido para APIs e logs.
  • O Date do ECMAScript é limitado a ±100.000.000 dias do epoch (≈ ±273.785 anos), é por isso que `new Date(8,64e15)` e `new Date(-8,64e15)` são os limites absolutos.
  • Os claims JWT `exp`, `iat` e `nbf`, o `Cache-Control: max-age` e o Cookie `Expires` usam todos segundos Unix (RFC 7519, RFC 7234), então some/subtraia diretamente com `Math.floor(Date.now()/1000)`.
  • O fuso horário afeta a data/hora renderizada, mas não o valor do timestamp em si; o mesmo segundo de epoch é renderizado como horários de parede diferentes em UTC+8 e UTC-5.

Exemplos

Converter um timestamp Unix de 10 dígitos para uma data legível

Entrada:  1781526600
UTC:      2026-06-15 12:30:00
Pequim (UTC+8): 2026-06-15 20:30:00
ISO 8601:        2026-06-15T12:30:00Z

POSIX: IEEE 1003.1 define o tempo Unix como segundos desde 1970-01-01 00:00:00 UTC (a Epoch)
ISO: ISO 8601 define o formato YYYY-MM-DDThh:mm:ssZ para representação inequívoca de data e hora

Converter uma data de volta para timestamp

Entrada:  2026-01-01 00:00:00 (UTC)
Segundos (10 dígitos):     1767225600
Milissegundos (13 dígitos): 1767225600000
Comando Unix:               date -d @1767225600

Nota: JavaScript Date.getTime() retorna milissegundos; Python time.time() retorna segundos (float)
POSIX: o tipo time_t é tradicionalmente um inteiro com sinal de 32 ou 64 bits

Diferenciar segundos e milissegundos

1781526600     -> 10 dígitos, segundos      -> 2026-06-15 12:30:00 UTC
1781526600000  -> 13 dígitos, milissegundos  -> 2026-06-15 12:30:00.000 UTC

Bug comum: um valor de 13 dígitos lido como segundos resulta no ano ~74.000
Dica rápida: 10-11 dígitos = segundos (1970-2286), 13 dígitos = milissegundos (padrão JavaScript)

Decodificar a claim exp de um JWT

Payload JWT: { "exp": 1798617600 }
Decodificado: 2027-01-01 00:00:00 UTC
Agora atual:  1781526600
Válido por:   17.091.000 segundos (~198 dias restantes)

RFC: RFC 7519 seção 2 define NumericDate como segundos desde a Epoch

Verificação do limite Y2038

Timestamp máximo de 32 bits com sinal: 2147483647
Decodificado:                          2038-01-19 03:14:07 UTC
Um segundo depois:                     2147483648 -> overflow em sistemas legados de 32 bits

Correção: usar time_t de 64 bits (padrão em Linux/macOS modernos) ou armazenar como string ISO 8601
POSIX: sistemas com time_t de 32 bits sofrerão wrap-around após 2038-01-19

Perguntas frequentes

O que é um timestamp Unix?

O número de segundos decorridos desde 01/01/1970 00:00:00 UTC, a 'época Unix'. JavaScript e muitas APIs usam milissegundos desde a mesma época (timestamp Unix × 1000). A página aceita ambos e mostra a data correspondente no seu horário local e em UTC.

Segundos vs milissegundos vs microssegundos vs nanossegundos?

Sistemas diferentes usam precisões diferentes. O `time()` do Unix retorna segundos. Date.now() do JavaScript retorna milissegundos. Instant do Java suporta nanossegundos. A página detecta automaticamente pela contagem de dígitos: 10 dígitos = segundos (em 2001-2286), 13 = milissegundos, 16 = microssegundos, 19 = nanossegundos.

Por que 19 de janeiro de 2038 é importante?

É o 'problema do ano 2038': timestamps Unix com sinal de 32 bits estouram às 03:14:07 UTC em 19/01/2038. Sistemas que ainda usam um time_t de 32 bits voltarão para 1901. Sistemas modernos de 64 bits ficam imunes por bilhões de anos; sistemas embarcados legados precisam de correção.

Como ele lida com fusos horários?

Timestamps Unix são inerentemente UTC. A página mostra seu horário local, UTC e permite escolher qualquer fuso horário IANA (Asia/Shanghai, America/New_York, Europe/London) para exibições adicionais. O horário de verão é aplicado automaticamente por fuso.

Por que analisar 'YYYY-MM-DD' assume UTC em alguns lugares?

Datas ISO 8601 sem fuso horário são ambíguas. O construtor Date do JavaScript trata strings somente de data como UTC e strings de data-hora como locais — uma fonte notória de bugs de um dia a mais ou a menos. A página é explícita sobre qual fuso horário se aplica.

A conversão é feita localmente?

Sim. A matemática é Date do JavaScript mais Intl.DateTimeFormat. Nenhum timestamp é enviado para servidores.

Posso gerar um timestamp futuro?

Sim. Escolha uma data futura e a página retorna o timestamp correspondente. Útil para definir claims exp de JWT, datas de teste de cron jobs ou janelas de expiração de cache no código.