tooly

Conversor de timestamp Unix

Converta segundos ou milissegundos epoch em uma data legível, ou uma data em timestamp. Veja ISO 8601, UTC, seu fuso horário e uma descrição relativa como “3 dias atrás”, além da hora Unix atual.

Tudo roda no seu navegador — nada é enviado

Como usar

  1. 1

    Cole um timestamp ou uma data, ou clique em Usar para pegar a hora atual.

  2. 2

    Todos os formatos são calculados na hora.

  3. 3

    Copie o que precisar.

O tempo Unix em um parágrafo

O tempo Unix conta os segundos passados desde 00:00:00 UTC de 1º de janeiro de 1970, um momento conhecido como epoch. Ele ignora completamente fusos horários e horário de verão: num dado instante, o tempo Unix é o mesmo número em qualquer lugar da Terra. Isso o torna o formato natural para guardar e comparar momentos em bancos de dados, arquivos de log, claims exp e iat de JWT, datas de modificação de arquivos, respostas de API e agendadores no estilo cron. O problema é que 1700000000 não significa nada para um ser humano, e é para isso que serve este conversor. Só para constar, esse número corresponde a 14 de novembro de 2023, 22:13:20 UTC.

Segundos, milissegundos e números mais longos

Sistemas diferentes contam em unidades diferentes:

  • Segundos, 10 dígitos para datas atuais: ferramentas Unix e Linux, time() do PHP, time.time() do Python (com parte fracionária), a maioria dos bancos de dados SQL, JWTs.
  • Milissegundos, 13 dígitos: Date.now() do JavaScript, System.currentTimeMillis() do Java, muitas APIs JSON e eventos de analytics.
  • Microssegundos, 16 dígitos, e nanossegundos, 19 dígitos: alguns bancos de dados, Go, ferramentas de rastreamento de alta resolução.

A ferramenta decide a unidade pelo tamanho. Qualquer número inteiro com valor absoluto abaixo de 100.000.000.000 é lido como segundos, até 100.000.000.000.000 (14 dígitos) como milissegundos, abaixo de 10^17 como microssegundos, e qualquer coisa maior como nanossegundos. Esses limites funcionam para todos os casos realistas: em segundos, o primeiro seria o ano 5138; em milissegundos, o início de março de 1973.

Valores em microssegundos e nanossegundos são cortados para a precisão de milissegundos, já que é só isso que as saídas mostram. Entradas fracionárias como 1700000000.5 não são aceitas, então tire a parte decimal antes.

Números negativos funcionam e dão datas anteriores a 1970: -86400 é 31 de dezembro de 1969.

Como ler as seis saídas

  • Unix, segundos e Unix, milissegundos: o mesmo instante nas duas unidades. Os milissegundos são mantidos quando você cola uma data com parte de tempo como .250; o valor em segundos é arredondado para baixo.
  • ISO 8601: por exemplo 2023-11-14T22:13:20.000Z. Sempre em UTC, marcado pelo Z, com precisão de milissegundos. É o formato mais seguro para APIs e JSON, porque é ordenado corretamente como texto e toda linguagem o interpreta.
  • UTC: o estilo de data do HTTP, Tue, 14 Nov 2023 22:13:20 GMT, usado nos cabeçalhos Expires, Last-Modified e de cookies.
  • Seu fuso horário: dia/mês/ano com relógio de 24 horas, seguido da abreviação do fuso (ou de um deslocamento GMT quando ela não existe) e do nome do fuso que o seu navegador informa, como Europe/Berlin. O horário de verão é aplicado conforme aquela data, não o deslocamento de hoje.
  • Relativo: expressões como "ontem", "em 3 dias" ou "há 2 anos". Ele é aproximado de propósito: os meses são calculados pela média de cerca de 30,4 dias, e o valor se atualiza enquanto a página está aberta.

Como converter uma data em timestamp

Você pode colar uma data em vez de um número. Strings ISO 8601 são a entrada mais confiável, e vale conhecer as regras de fuso horário, porque elas causam a maioria dos erros de algumas horas:

  • 2024-05-01T12:00:00Z e 2024-05-01T12:00:00+02:00 trazem o próprio deslocamento e não deixam dúvida.
  • 2024-05-01 sem horário é tratado como meia-noite UTC.
  • 2024-05-01T12:00 e 2024-05-01 12:00, uma data com horário mas sem deslocamento, são tratados como seu horário local.

Então, se você está em Berlim no verão, 2024-05-01 e 2024-05-01 00:00 diferem em duas horas. Ao converter para um servidor ou uma API, acrescente Z ou um deslocamento explícito para eliminar a adivinhação.

Outros formatos, como May 1, 2024 12:00, dependem do parser de datas do navegador e podem se comportar de modo diferente entre Chrome, Firefox e Safari. Formatos com o dia primeiro, como 01/05/2024, são lidos com o mês primeiro, no estilo americano, ou rejeitados, então evite-os.

Armadilhas que vale conhecer

  • Segundos intercalares. O tempo Unix finge que todo dia tem exatamente 86.400 segundos. Os 27 segundos intercalares adicionados desde 1972 não são contados, o que só importa para medições científicas precisas.
  • O problema do ano 2038. Sistemas que guardam o tempo Unix como inteiro de 32 bits com sinal estouram em 2147483647, que é 19 de janeiro de 2038, 03:14:07 UTC. Cole esse número para ver. Sistemas modernos de 64 bits não são afetados, mas dispositivos embarcados antigos e formatos de arquivo podem ser.
  • Relógio dessincronizado. Se um JWT é rejeitado como "ainda não válido" ou "expirado", compare o iat e o exp dele com a Hora Unix atual, ao vivo no topo da página. Uma diferença de poucos minutos indica um relógio errado, e não um token inválido.

Para ler as claims de um token, decodifique a parte do meio com a ferramenta Base64 e organize o JSON no formatador de JSON. As conversões rodam no seu navegador, usando o relógio e as configurações de fuso horário dele.

Perguntas frequentes

Segundos ou milissegundos?

A unidade é detectada automaticamente pelo tamanho: valores abaixo de 100 000 000 000 são tratados como segundos, até 14 dígitos como milissegundos, de 15 a 17 dígitos como microssegundos e os mais longos como nanossegundos.

Quais formatos de data são aceitos?

ISO 8601 (2024-05-01T12:00:00Z), 2024-05-01 12:00 e qualquer coisa que o parser Date do seu navegador entenda.

Qual fuso horário é usado?

UTC e o fuso horário do seu navegador são mostrados.

Algo é enviado a um servidor?

Não. A conversão roda no seu navegador.

Ferramentas relacionadas