Conversor de Timestamp Unix

Converta Timestamp Unix para data/hora legível ou vice-versa. Suporte a segundos e milissegundos. Exibe ISO 8601, UTC, data e hora local. Processamento 100% local no navegador.

Revisão técnica: Cesar Gargiulo (segurança da informação)
Valim, o mascote do ValorFinal, representando a categoria Tecnologia

Na detecção automática, a escala usada aparece no resultado: até 10 dígitos são segundos, 13 são milissegundos e 16 são microssegundos.

Gostou? Mostre pra todo mundo

Gere um card bonito com a marca do ValorFinal para postar nos Stories ou mandar no WhatsApp. Nada que você digitou aparece no card.

Coloque no seu site

O Timestamp Unix é a quantidade de tempo decorrida desde 1º de janeiro de 1970 às 00:00:00 UTC. Esta página converte esse número em data legível e o contrário, detectando se ele está em segundos, milissegundos ou microssegundos, e dizendo na tela qual escala usou.

Como funciona a conversão de Timestamp Unix

Na ida, o número é multiplicado pelo fator da escala para virar milissegundos, que é a unidade interna do JavaScript, e daí sai a data em ISO 8601, em UTC e em horário de Brasília. A escala vem da ordem de grandeza: abaixo de 10 elevado a 11 é segundos, abaixo de 10 elevado a 14 é milissegundos, e acima disso é microssegundos.

Na volta, a data é lida por um formato estrito em vez do construtor Date, que é tolerante demais e transforma 30 de fevereiro em 1º de março sem avisar. O dia é conferido contra o número real de dias do mês, com a regra completa de ano bissexto, e a data sem fuso escrito é lida como UTC.

Datas antes de 1970 têm timestamp negativo e são convertidas normalmente. Para ler o valor em outra base, veja a calculadora binário, decimal e hexadecimal.

Fórmula

milissegundos = timestamp x fator da escala (1000, 1 ou 0,001)

segundos = piso(milissegundos / 1000)

escala detectada: |t| < 10^11 segundos · < 10^14 milissegundos · senão microssegundos

Base: definição de Unix time do POSIX.1 (IEEE Std 1003.1), norma ISO 8601 para representação de data e hora, e a API Date do ECMAScript. Conversão determinística e local no navegador.

Limitações

  • Converte datas do ano 1 ao ano 9999. Fora disso a resposta é uma recusa explicando a escala provável, e não uma data improvável.
  • A detecção de escala é por ordem de grandeza, então um instante de 1970 gravado em milissegundos tem poucos dígitos e é lido como segundos. Nesse caso, fixe a escala à mão.
  • Não trata segundos bissextos: como todo Unix time, a conta assume dias de 86.400 segundos.
  • Data sem fuso escrito é lida como UTC. Se o seu dado nasceu em horário local, escreva o deslocamento (por exemplo, -03:00).
  • A linha de data local depende do fuso do seu sistema operacional. A linha de Brasília não depende, e é a que deve ser usada em comparação.

Coloque a calculadora de Timestamp Unix no seu site, de graça

Tem site, blog ou loja virtual? Esta calculadora tem uma versão para incorporar: você copia um código e cola no seu HTML. Sem cadastro, sem mensalidade e sem limite de acessos, e o cálculo acompanha a regra vigente sozinho.

calculadora de Timestamp Unix para sitever todas as calculadoras para site

Calculadoras relacionadas

ValorFinal VIP: Sem anúncios, até 500 cenários salvos e comparação de cenários lado a lado.

Cálculo auditável, com fórmula e fontes transparentes

Atualizado em . Fontes: Unix time / ISO 8601 / MDN Web Docs.

Processamento local: esta ferramenta roda no seu navegador e nada é enviado a servidores automaticamente.

Como validamos

Referências técnicas

Links externos para o que foi consultado na construção desta página, com a natureza de cada fonte identificada. O conteúdo delas pode mudar sem aviso; em caso de divergência, vale sempre a fonte primária.

Incorpore esta calculadora no seu site (grátis)

Copie e cole o código no seu site. A calculadora se atualiza sozinha. O crédito ao ValorFinal vem junto do código e a gente agradece quem mantém, mas ele é opcional: pode remover sem perder o widget. O link sai com rel="nofollow", ou seja, não transfere autoridade de busca para a gente.

Perguntas frequentes

O que é um Timestamp Unix?

O Timestamp Unix (também chamado de Unix time, POSIX time ou Epoch time) é o número de segundos decorridos desde 1 de janeiro de 1970 às 00:00:00 UTC (o Epoch). É um sistema de representação de tempo independente de fuso horário, muito usado em sistemas computacionais, bancos de dados e APIs para armazenar e comparar datas de forma simples e precisa.

Qual é a diferença entre timestamp em segundos e em milissegundos?

Timestamp em segundos é o padrão Unix clássico, conta os segundos desde 1970. Timestamp em milissegundos é 1.000 vezes maior e é o formato usado pelo JavaScript internamente (Date.now() retorna milissegundos). Muitas APIs modernas usam milissegundos para maior precisão. Você pode identificar o formato pela ordem de grandeza: em 2024, timestamps em segundos têm ~10 dígitos e em milissegundos ~13 dígitos.

O que é o Epoch ou Unix Epoch?

O Unix Epoch é o ponto de origem do Timestamp Unix: 1 de janeiro de 1970 às 00:00:00 UTC. Seu valor de timestamp é 0. Antes desta data, os timestamps são negativos. Por exemplo, 1 de janeiro de 1969 tem timestamp -31536000. A escolha de 1970 foi uma decisão prática dos criadores do Unix nos anos 1970.

O que é ISO 8601?

ISO 8601 é o padrão internacional para representação de datas e horas, definido pela Organização Internacional de Normalização (ISO). O formato é YYYY-MM-DDTHH:MM:SS.sssZ, onde T separa data e hora, e Z indica UTC. Exemplo: 2024-01-15T10:30:00Z. O 'Z' indica fuso UTC; sem ele, a hora é considerada local. É o formato mais portável para comunicação entre sistemas.

Meu resultado de data/hora local está diferente de UTC, por quê?

Isso é esperado. A data/hora local é exibida conforme o fuso horário configurado no seu sistema operacional. UTC (Coordinated Universal Time) é o tempo universal de referência. Por exemplo, no Brasil (UTC-3), 12:00 UTC aparece como 09:00 no horário local. Em horário de verão, o offset pode ser diferente. O Timestamp Unix em si é sempre baseado em UTC.

Como converter data para timestamp no JavaScript?

Use new Date('2024-01-15T10:30:00Z').getTime() para obter o timestamp em milissegundos, ou Math.floor(new Date('2024-01-15T10:30:00Z').getTime() / 1000) para obter em segundos. Para o timestamp atual, use Date.now() (ms) ou Math.floor(Date.now() / 1000) (s). Prefira o formato ISO 8601 com 'Z' no final para garantir que o JavaScript interprete como UTC.

Como a ferramenta descobre se o número está em segundos ou em milissegundos?

Pela ordem de grandeza, e ela mostra na tela qual escala usou. Até 10 dígitos o valor é lido como segundos, com 13 dígitos como milissegundos e com 16 dígitos como microssegundos, que é a escala de bancos como o PostgreSQL e de traços de observabilidade. Você pode fixar a escala à mão em vez de usar a detecção. Se a escala escolhida destoar do tamanho do número, aparece um aviso dizendo o que a ferramenta calculou e o que o número provavelmente é.

Por que um timestamp de 13 dígitos marcado como segundos é recusado?

Porque o resultado não seria uma data, seria um número disfarçado de data. O valor 1705314600000 lido como segundos cai no ano 56009, e antes a ferramenta devolvia isso como conversão bem-sucedida. Agora ela recusa e explica: o número tem 13 dígitos, o que costuma ser milissegundos, e sugere trocar a escala ou usar a detecção automática. A faixa aceita vai do ano 1 ao ano 9999.

Datas que não existem, como 30 de fevereiro, são aceitas?

Não. O construtor Date do JavaScript aceita '2024-02-30' e devolve 1º de março, calado, porque ele acumula o dia que sobrou. Esta ferramenta valida o dia contra o número real de dias do mês, com a regra completa de ano bissexto (divisível por 4, exceto séculos não divisíveis por 400). Por isso 2024-02-29 é aceito, 2023-02-29 e 1900-02-29 são recusados, e 2000-02-29 é aceito. Hora acima de 23 e minuto acima de 59 também são recusados.

Se eu digitar uma data sem fuso, ela é lida como local ou como UTC?

Como UTC, e o resultado diz isso em texto. O JavaScript trata '2024-01-15' como UTC e '2024-01-15T10:30:00' como horário local, uma incoerência da própria linguagem que fazia o botão 'usar agora' errar o timestamp pelo tamanho do fuso. Aqui a regra é uma só: sem fuso escrito, a leitura é UTC. Para informar outro fuso, escreva o deslocamento na data, como 2024-01-15T07:30:00-03:00. O resultado mostra a data em UTC e também em horário de Brasília.