Tempo/Números

Unix Timestamp ↔ Data

Converta o tempo Unix em uma data e vice-versa, com suporte para qualquer fuso horário (IANA).


                    

Unix time (epoch time) is the number of seconds elapsed since January 1, 1970, 00:00:00 UTC. It's the most common way to store time in databases, APIs, and logs, since it's just a single integer with no tie to a specific timezone or date format.

How to use it

Common uses

Things to keep in mind

Mixing up seconds and milliseconds is the most common mistake: JavaScript's Date.now() returns milliseconds, while most Unix APIs use seconds — a factor of 1000 off.

Unix time itself has no timezone — it's always UTC; a timezone is only applied when displaying the date to a person.

Artigo sobre esta ferramenta: Tempo Unix: por que os computadores contam o tempo desde 1970

Perguntas frequentes

O que é um timestamp Unix?

É o número de segundos que passaram desde 1º de janeiro de 1970, 00:00:00 UTC (a época Unix). Esse número não está vinculado a nenhum fuso horário — o fuso horário só é aplicado ao exibir a data para uma pessoa.

Qual a diferença entre segundos e milissegundos?

JavaScript e algumas APIs (como Date.now()) retornam um timestamp em milissegundos, enquanto o tempo Unix clássico é em segundos. Confundir a unidade dá uma data em 1970 ou em algum lugar no futuro distante — escolha a unidade certa no campo "Unidades".

O tempo Unix leva em conta os segundos bissextos?

Não, cada dia no tempo Unix equivale sempre a exatamente 86400 segundos; os segundos bissextos são ignorados. Sistemas que precisam de sincronização exata com o UTC astronômico lidam com segundos bissextos por um mecanismo separado, fora do timestamp Unix padrão.

Um timestamp Unix pode ser negativo?

Sim, valores negativos correspondem a datas anteriores a 1º de janeiro de 1970. A maioria dos sistemas modernos lida corretamente com esses valores, embora algumas APIs ou bibliotecas antigas possam não suportá-los.

O que é o problema do ano 2038?

Em sistemas onde um timestamp é armazenado como um inteiro de 32 bits com sinal, o contador de segundos ultrapassará o limite em 19 de janeiro de 2038. Sistemas modernos de 64 bits não têm esse problema.

Artigos: Tempo/Números

Expressões cron: como decifrar um agendamento de tarefas

Como decifrar uma expressão como */15 * * * * e saber exatamente quando a tarefa será executada.

Sistemas numéricos: para que servem o binário, o octal e o hexadecimal

Por que a cor #FF5733 no CSS é escrita com dígitos hexadecimais em vez de decimais.

Operações bit a bit: como AND, OR e XOR funcionam no nível dos bits

Em que o AND bit a bit difere do lógico, e para que serve operar sobre bits individuais de um número.

Diferença entre datas: por que contar dias é mais complicado do que parece

Por que subtrair datas de forma ingênua pode dar um resultado incorreto por causa dos anos bissextos.

Cálculo de idade: por que não é uma simples subtração de anos

Por que simplesmente subtrair os anos de nascimento pode dar uma idade um ano maior que a real.

Fusos horários: por que UTC não é a mesma coisa que GMT

Por que UTC nunca muda duas vezes ao ano, enquanto o horário de Londres (GMT/BST) muda.

Calculadora de duração: como somar corretamente horas, minutos e segundos

Por que ao somar minutos e segundos é preciso "transportar" o resto para a próxima casa, assim como na soma decimal.

ISO 8601 Duration: como escrever uma duração em formato padrão

Por que PT1H30M significa «1 hora 30 minutos», e não «1 minuto 30 horas».

Número da semana: por que países diferentes contam as semanas de forma diferente

Por que 1º de janeiro às vezes pertence à semana 52 ou 53 do ano anterior segundo o padrão ISO 8601.

Números romanos: como funciona um sistema sem zero nem posições

Por que IV significa 4 e não 6, e como funciona a regra de subtração nos números romanos.

IEEE 754: por que 0.1 + 0.2 não é igual a 0.3 no código

Por que em quase toda linguagem de programação 0.1 + 0.2 exibe 0.30000000000000004.

Número por extenso: para que transformar dígitos em palavras

Por que documentos bancários escrevem o valor tanto em dígitos quanto por extenso ao mesmo tempo.