Por que não basta dividir por 30
Meses têm 28, 29, 30 ou 31 dias. Dividir o total de dias por 30 para achar meses, ou por 365 para achar anos, dá um número aproximado que quase nunca coincide com o que o calendário diz.
A decomposição correta avança mês a mês a partir da data inicial, conta quantos meses inteiros couberam e só então mede o que sobrou em dias. É por isso que de 31 de janeiro a 1º de março o resultado é um mês e um dia, e não trinta dias.
Anos bissextos entram naturalmente nessa contagem, porque ela percorre o calendário real em vez de usar uma média.
Qual número usar em cada situação
Para tempo de casa, tempo de contrato e idade, o que vale é a decomposição em anos, meses e dias — é o critério do direito e o da linguagem comum.
Para prazos, juros e contagens administrativas, use o total em dias corridos. É o número que não depende de convenção nenhuma.
O total em semanas costuma servir para gestação, planejamento de projeto e escalas de trabalho.
Datas fora de ordem
Se a data final for anterior à inicial, o intervalo é o mesmo — só muda o sentido. A calculadora inverte automaticamente e avisa, em vez de devolver um número negativo que não ajuda ninguém.
Dias corridos e dias úteis são contagens diferentes
Esta página conta dias corridos: todos os dias do calendário, incluindo sábados, domingos e feriados. É a contagem usada em prazos contratuais, tempo de contribuição e cálculo de idade.
Prazos processuais e boa parte dos prazos administrativos correm em dias úteis, o que exige descontar fim de semana e feriado. Para esses casos, a calculadora de dias úteis é a certa.
Confundir as duas contagens é o erro mais caro que se pode cometer com prazo: trinta dias corridos e trinta dias úteis podem diferir em mais de duas semanas.
O ano bissexto e a regra que quase ninguém conhece
Anos divisíveis por quatro são bissextos, com uma exceção: anos de século só são bissextos se forem divisíveis por 400. Por isso 1900 não foi bissexto e 2000 foi.
A regra existe porque o ano solar tem cerca de 365,2422 dias, e não exatamente 365,25. Sem a exceção dos séculos, o calendário acumularia três dias a mais a cada quatro séculos.
Contagens que atravessam 29 de fevereiro precisam disso, e é a razão de contar dias por diferença de datas ser mais confiável que somar meses de trinta.
Fuso horário e a virada do dia
Cálculos de data feitos em JavaScript costumam errar por uma causa só: a conversão para UTC empurra a data para o dia anterior em quem está a oeste de Greenwich.
Esta calculadora resolve isso tratando toda data como meio-dia em UTC. Assim, nem fuso nem horário de verão conseguem deslocar o dia.
É o tipo de detalhe invisível quando funciona e óbvio quando falha — normalmente numa data de aniversário que aparece um dia antes.