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.