Saltar para o conteúdo principal
LibraTool logoLibraTool

Calculadora de diferença de data grátis

Calcule a diferença exata entre duas datas – anos, meses, dias, semanas, dias úteis (excluindo fins de semana), horas e minutos.

Funciona offline depois de carregado

Predefinições rápidas

Selecione ambas as datas para ver a diferença.

Usos comuns

  • Calcular Dias Até a Data de VencimentoFaça uma contagem regressiva para a data de vencimento do bebê, descubra exatamente quantas semanas, dias e horas até o grande dia.
  • Dias Até Suas FériasFaça uma contagem regressiva para sua viagem com dias de trabalho, dias totais e semanas restantes para fins de planejamento.
  • Dias de Trabalho até o Prazo do ProjetoCalcule o número exato de dias de trabalho (excluindo fins de semana) entre hoje e um prazo do projeto.
  • Calcular Dias de Aniversário JuntosDescubra exatamente quantos dias, meses e anos você esteve junto com alguém especial.
  • Calculadora de Diferença de Idade Entre Duas PessoasCalcule a diferença exata de idade entre dois aniversários, anos, meses e dias de diferença.

Como funciona

Todo o cálculo funciona inteiramente no navegador usando aritmética UTC escrita à mão — sem biblioteca externa, sem pedido a servidor. A ferramenta analisa strings AAAA-MM-DD em componentes de calendário, calcula diferenças usando timestamps em milissegundos de Date.UTC() para evitar desvio de horário de verão, e itera dia a dia para contar dias úteis de segunda a sexta-feira.

  1. 1
    Análise segura de datas
    Cada string de data é validada com uma expressão regular e depois reconstruída via Date.UTC() — não new Date(string) — para que usuários a oeste de UTC nunca vejam um desvio de dia da semana causado pela interpretação de fuso horário local do navegador para entradas apenas de data.
  2. 2
    Subtração de milissegundos UTC
    As duas datas de calendário são convertidas em timestamps de meia-noite UTC com Date.UTC(a, m, d). A divisão inteira por 86.400.000 ms dá uma contagem exata de dias inteiros que é imune a transições de horário de verão, que de outro modo podem fazer um dia parecer ter 23 ou 25 horas.
  3. 3
    Detalhamento do calendário e contagem de dias úteis
    Uma decomposição ano/mês/dia escrita à mão trata irregularidades de duração de meses (emprestando dias do mês anterior quando necessário). Um ciclo separado avança por cada dia UTC entre as duas datas e incrementa um contador apenas para segunda a sexta-feira (getUTCDay() !== 0 ou 6), produzindo um total exato de dias úteis independentemente da região.
  4. 4
    Resultados mostrados em todas as unidades
    Os totais são formatados com toLocaleString() usando a região da página para agrupamento de dígitos consciente da região, depois mostrados simultaneamente como anos/meses/dias, dias totais, dias úteis, semanas, horas, e minutos. O par de datas atual é escrito no URL via history.replaceState para que qualquer resultado possa ser marcado ou compartilhado como um link direto.

Ferramentas relacionadas

Perguntas frequentes