Calcular a idade entre dois anos
A conta é simples. Você pega o ano atual e subtrai o ano de nascimento. Para saber 1996 tem quantos anos em 2025, basta fazer 2025 menos 1996, que dá 29 anos. Mas a verdade é que nem sempre esse cálculo funciona como você espera. Eu já perdi tempo demais tentando justificar por que um cliente nascido em dezembro de 1996 ainda não tinha 29 anos em janeiro de 2025, mesmo depois de anos lidando com isso. O problema aparece quando você precisa ser preciso sobre a data exata, não só o ano.
1996 tem quantos anos em 2025
Se a pessoa nasceu em 1996 e estamos em 2025, ela tem 29 anos se o aniversário já passou este ano. Se o aniversário ainda vai acontecer, ela tem 28 e faz 29 mais tarde. Isso é básico, mas é exatamente onde as planilhas e os sistemas quebram quando alguém tenta automatizar sem prestar atenção nos meses. Eu trabalho com cadastro de usuários há anos e já vi sistemas marcarem todo mundo como tendo a idade do ano menos um, só porque a lógica usava o ano inteiro e ignorava a data de nascimento completa. O correto é comparar a data de hoje com a data de nascimento, mês e dia incluídos. A diferença de anos só é válida quando a data de aniversário já ocorreu no ano corrente.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Um caso que me deu dor de cabeça foi quando precisei migrar uma base de 14 mil registros de um sistema legado para outro. O sistema antigo calculava a idade só pelo ano, então pessoas nascidas no último trimestre do ano apareciam com um ano a mais na nova base durante os primeiros meses. A solução foi rodar um script que recalculava a idade usando a função de diferença de datas do próprio banco, respeitanto mês e dia. Levou cerca de 40 minutos num servidor local e corrigiu a discrepância em toda a tabela. Se você só quer a resposta rápida para essa consulta, a pessoa que nasceu em 1996 faz ou fará 29 anos em 2025. Não tem segredo. O detalhe importa mesmo é quando você vai aplicar isso em um sistema real, porque aí o erro de um mês pode significar acesso liberado ou bloqueado, dependendo do que o software espera.
O jeito mais seguro de fazer isso em qualquer linguagem ou planilha é usar a data completa. Some um ano à data de nascimento e compare com a data de hoje. Se a data de hoje for maior ou igual à data de aniversário deste ano, a idade é a diferença dos anos. Se for menor, subtraia um. Funciona em Excel, em SQL, em Python, em qualquer coisa. Eu uso esse padrão em tudo quanto é projeto porque é difícil errar. Uma armadilha comum é esquecer que 1996 foi ano bissexto. Se alguém nasceu em 29 de fevereiro, o cálculo de aniversário varia conforme a regra que você adotar. Alguns sistemas consideram 1º de março como aniversário em anos não bissextos. Outros usam 28 de fevereiro. Eu recomendo seguir a regra do 28, que é a mais adotada em sistemas jurídicos e cadastrais no Brasil, senão você acaba com inconsistência na homologação de dados.
O cálculo em si demora menos de um segundo. O que costuma levar tempo é limpar dados mal formatados, como campos de data vindos de importações antigas com formatos misturados, que é o tipo de coisa que aparece todo projeto novo. Mas isso é outro assunto.