A matematica é simples, mas o detalhe que todo mundo erra
Subtrai 1997 do ano atual. Se o mes e o dia do nascimento ainda nao chegaram, tira um. E pronto. O ano que estamos e 2026. Entao quem nasceu em 1997 tem 29 anos se o aniversario ja passou este ano, ou 28 se ainda nao chegou. A conta e 2026 menos 1997, que da 29, mas so vale a contar o aniversariante como completo apos a data exata no calendario.
Quem nasce 1997 tem quantos anos: a resposta pratica
Se voce esta lendo isso antes do dia 1 de janeiro de 2025, a resposta muda. Em 2025, a pessoa nascida em 1997 teria 28 anos apos o aniversario, ou 27 antes. O calculo nunca eh estatico porque o referencia temporal (o "ano atual") se move todo dia 1 de janeiro. No dia-a-dia, eu vejo muita gente cometer o erro classico de dar a idade fixa sem considerar o mes e o dia. Ja vi planilha de RH que calculava a idade civil errada pra metade dos funcionarios exatamente por isso: subtraiu o ano de nascimento do ano atual e pronto, sem verificar a data completa. O resultado foi um processo de retificacao que levou tres semanas pra resolver.
👉 Clique no botão abaixo para saber mais sobre o assunto!
O workaround que eu uso agora e straightforward: sempre comparar a data completa (dia/mes/ano) contra a data de referencia. Se o mes de nascimento for maior que o mes atual, ou se for igual mas o dia for maior, subtrai-se um ano do resultado bruto. Em SQL, eu faço com a funcao TIMESTAMPDIFF ou DATE_DIFF, dependendo do banco, passando as datas exatas como argumentos. Em Excel, uma formula que compara YEARFRAC funciona, mas so se as celulas de data estiverem formatadas corretamente — senao vira pesadelo. Uma coisa que poucas pessoas levam em conta eh o efeito do ano bissexto. Se a pessoa nasceu em 29 de fevereiro, a lei brasileira entende que o aniversario legal cai em 1 de marco nos anos nao bissextos. Isso gera confusao em sistemas que usam apenas o mes 2 (fevereiro) como referencia, porque em fevereiro de 2025 a pessoa de 29/02 ainda nao fez anos, mas em 1 de marco ja faz. Eu já perdi conte na contagem de beneficio previdenciario de um cliente por nao ajustar essa regra especifica. A correcao foi rodar um script que substituia 29/02 por 01/03 em anos nao bissextos antes de fazer o calculo final.
Outro ponto que os iniciantes ignoram: a definicao legal de idade no Brasil so se completa no dia do aniversario, nao na vespera. Tem gente que acha que as 23h59 do dia anterior já conta. Não conta. O sistema do governo e os bancos todos usam o criterio de "data atual >= data de nascimento" para considerar a pessoa com a idade atingida. Entao, resposta direta: quem nasceu em 1997, considerando hoje em 2026, tem entre 28 e 29 anos. A faixa exata depende exclusivamente de se o mes e o dia de nascimento ja passaram neste ano. Sem complicacao, desde que voce olhe a data completa e nao so o ano.