Calculadora de diferença entre datas

Informe duas datas e obtenha instantaneamente o número exato de dias, semanas, meses e anos entre elas, calculado com precisão de calendário. Além da simples diferença de dias, a ferramenta também mostra a contagem inclusiva usada, por exemplo, em internações hospitalares ou períodos de locação (em que a data inicial e a final contam cada uma como um dia completo), para você não precisar adivinhar qual convenção se aplica.

Dicas para calcular a diferença entre datas

  • Coloque a data de um evento futuro em "Data final" para ver exatamente quantos dias faltam até ele. Use o botão "Usar hoje" para preencher instantaneamente a data final com a data de hoje.
  • O detalhamento em "anos, meses e dias" segue exatamente o calendário, e não é uma estimativa aproximada — por exemplo, de 15 de janeiro a 20 de março é mostrado corretamente como "2 meses e 5 dias", em vez do resultado bruto da divisão do total de dias por 30.
  • Ao calcular o prazo de um contrato ou projeto, defina a data inicial como a data de assinatura e a data final como o prazo de entrega para ver de uma só vez o tempo restante e a duração total.
  • Períodos que atravessam um ano bissexto (incluindo 29 de fevereiro) são calculados automaticamente sem erros, então você nunca precisa conferir manualmente a contagem de dias de um ano bissexto.
  • Se você definir por engano a data final antes da data inicial, a ferramenta troca as duas datas automaticamente e exibe um aviso, sem necessidade de correção manual.

Perguntas frequentes

A Calculadora de idade foi criada especificamente para calcular a idade atual de uma pessoa a partir de sua data de nascimento. Esta ferramenta é uma calculadora de intervalo de datas de uso geral, na qual você pode escolher livremente qualquer data inicial e final, permitindo medir qualquer período de tempo — uma contagem regressiva para um evento, a duração de um projeto, etc. — e não apenas a idade.

A Calculadora de horas soma ou subtrai horas, minutos e segundos dentro de um mesmo dia (por exemplo, somar 2 horas e 15 minutos a 9h30). Esta ferramenta, por sua vez, mede o intervalo de calendário entre duas datas em anos, meses, semanas e dias. Use a Calculadora de horas se precisar de precisão inferior a um dia.

Não ocorre nenhum erro. A ferramenta troca automaticamente as duas datas internamente, calcula o intervalo como um valor absoluto e exibe um aviso explicando que as datas foram trocadas, para que você possa usá-la com confiança mesmo sem ter certeza de qual data vem primeiro.

Sim. Períodos que incluem 29 de fevereiro são calculados corretamente em dias, meses e anos graças à aritmética de datas nativa do JavaScript. Não é necessário verificar manualmente se há um ano bissexto envolvido.

"Total de dias" é a simples diferença entre a data inicial e a final (a data inicial conta como o dia zero). "Dias inclusivos" soma 1 a esse valor, contando tanto a data inicial quanto a final como um dia completo — a convenção usada em internações hospitalares, períodos de locação ou cálculo de tempo de serviço. Nenhuma das duas é mais "correta"; use a que se ajustar ao seu propósito.
Tool-kun

Curiosidade — as armadilhas mais comuns ao contar dias manualmente

Ao estimar manualmente o intervalo entre duas datas, é comum arredondar um mês para 30 dias exatos. Mas os meses reais variam de 28 a 31 dias, então estimar de 15 de janeiro a 20 de março como "64 dias ÷ 30 ≈ 2,1 meses" pode se afastar do resultado exato de calendário, que é "2 meses e 5 dias" — uma diferença que importa quando determina o prazo de um contrato ou o vencimento de uma fatura. Esta ferramenta compara diretamente os campos de ano, mês e dia de objetos Date, retornando sempre um detalhamento exato conforme o calendário.

Anos bissextos não são simplesmente "a cada quatro anos". Pela regra do calendário gregoriano, um ano divisível por 4 é bissexto, exceto quando divisível por 100, caso em que não é bissexto, a menos que também seja divisível por 400. O ano 2000 foi bissexto, mas 1900 e 2100 não são. Essa exceção está integrada ao tratamento padrão de datas do JavaScript, e esta ferramenta se baseia nesse mesmo comportamento.

Existem duas convenções comuns para contar dias decorridos: uma contagem inclusiva que conta a data inicial como o primeiro dia (de 1º a 10 de janeiro, "10 dias"), e uma diferença simples que conta apenas o intervalo ("9 dias"). Internações hospitalares e períodos de locação costumam usar a contagem inclusiva, enquanto uma estimativa aproximada do tempo decorrido se contenta com a diferença simples. Esta ferramenta mostra os dois resultados ao mesmo tempo, então você não precisa convertê-los manualmente.