Todos os artigos

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

Uma forma simples de calcular a idade é subtrair o ano de nascimento do ano atual. Mas essa abordagem dá um resultado incorreto para qualquer pessoa cujo aniversário ainda não tenha acontecido neste ano — e é exatamente esse único dia que separa alguém de completar a maioridade ou não.

Por que a simples subtração de anos erra

Se alguém nasceu em 15 de dezembro de 1990 e hoje é 1º de janeiro de 2024, o cálculo ingênuo 2024 - 1990 dá 34 anos — embora, na verdade, essa pessoa só completará 34 anos daqui a quase um ano. Um cálculo preciso deve verificar se o aniversário deste ano já aconteceu, não apenas a diferença de anos.

O algoritmo correto

Primeiro se calcula a diferença de anos, depois se compara o mês e o dia de nascimento com o mês e o dia atuais. Se o aniversário deste ano ainda não aconteceu (o mês é anterior, ou o mês é o mesmo mas o dia é anterior), subtrai-se um do resultado.

29 de fevereiro como caso especial

Para pessoas nascidas em 29 de fevereiro, em anos não bissextos o aniversário costuma ser considerado 28 de fevereiro ou 1º de março, dependendo do contexto — um dos casos extremos frequentemente esquecidos ao escrever código de cálculo de idade.

Para que serve isso

  • Calcular com precisão a idade para formulários de cadastro com verificação de maioridade (18 anos no Brasil e em Portugal).
  • Verificar se o próprio código trata corretamente os casos extremos (29 de fevereiro, aniversário hoje).
  • Obter rapidamente a idade exata em anos, meses e dias a partir de uma data de nascimento.

Por que a maioridade legal às vezes começa um dia antes do aniversário

Na legislação de vários países (em especial o Reino Unido), vale o princípio de "não há frações de um dia" — considera-se que uma pessoa atingiu determinada idade a partir do primeiro instante do dia anterior ao aniversário de nascimento, já que o aniversário conta como um dia inteiro vivido. É um detalhe puramente jurídico que mostra que nem mesmo "quantos anos alguém tem" é um cálculo idêntico em todo lugar.

Experimentar a ferramenta