A regra básica que todo mundo sabe, mas erra na hora H
Para responder quem é de 2004 tem quantos anos em 2025, basta subtrair o ano de nascimento do ano atual. 2025 menos 2004 dá 21. Aí a coisa parece simples demais para merecer um texto inteiro, mas a realidade é que esse tipo de cálculo sempre esconde armadilhas se você precisar de precisão.
Quem é de 2004 tem quantos anos em 2025: a resposta direta
Pessoas nascidas em 2004 terão 21 anos em 2025, desde que o aniversário já tenha passado. Se o aniversário cair em janeiro, fevereiro ou março, a pessoa já completou os 21. Se o aniversário for em dezembro, ela ainda está com 20 anos na maior parte do ano. O cálculo exato depende da data completa. Vou mostrar como fazer isso na prática, porque sim, tem gente que trava nisso quando precisa preencher um formulário oficial ou validar uma inscrição.
Como calcular idade com precisão
A fórmula é: idade = ano atual - ano de nascimento. Depois você ajusta se o aniversário já ocorreu ou não no ano corrente. Se a data de hoje já passou da data de nascimento, a conta de cima é o resultado final. Se ainda não passou, você subtrai mais 1. Na prática, eu já vi formulários governamentais e sistemas bancários que fazem essa conta errada de várias formas. Um colega meu trabalhou num call center e passava o dia corrigindo registros onde a idade vinha desatualizada porque o sistema simplesmente subtraía os anos sem olhar o mês. Resultado: clientes de dezembro de 2004 aparecendo com 21 anos em janeiro, sendo que na verdade ainda tinham 20.
O workaround que eu usei e recomendo é bem simples. Guarde esta lógica: Se (mês atual > mês de nascimento) ou (mês atual == mês de nascimento e dia atual >= dia de nascimento), então idade = 2025 - 2004. Caso contrário, idade = 2025 - 2004 - 1.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Isso resolve 99% dos casos. O outro 1% é quando o aniversário cai em 29 de fevereiro, o que complica em anos bissextos. Nesses casos, a convenção mais aceita é considerar o aniversário em 28 de fevereiro ou 1º de março, dependendo da jurisdição ou da regra do sistema. Eu já precisei lidar com isso num cadastro eleitoral onde o campo de data de nascimento puxava alguém nascido em 29/02/2004 e o sistema recusei a inscrição porque a validação de idade falhava. A solução foi cadastrar como 28/02/2004, que é o que a maioria dos sistemas leva como padrão.
Por que esse cálculo sempre gera confusão
Existem dois problemas recorrentes que as pessoas ignoram. O primeiro é a virada de ano. Muita gente acha que todo mundo que nasceu em 2004 já faz 21 anos assim que entra 2025. Não funciona assim. Alguém nascido em outubro de 2004 só fará 21 em outubro de 2025. Antes disso, a idade oficial continua sendo 20. O segundo problema é mais técnico. Quando você trabalha com bancos de dados ou planilhas, a conversão de datas pode falhar silenciosamente. Eu já perdi horas rastreando um erro onde campos de data estavam armazenados no formato americano (mês/dia/ano) num sistema que assumia dia/mês/ano. O resultado eram idades completamente distorcidas, com pessoas aparecendo com 12 anos a mais ou menos do que deveriam. A correção foi padronizar o armazenamento interno em ISO 8601 (AAAA-MM-DD) e refazer a lógica de cálculo usando funções de manipulação de data nativas, em vez de extrair o ano com divisão de strings.
Limitações e armadilhas reais
Esse método de subtração simples funciona perfeitamente para o dia a dia. Mas ele não leva em conta fusos horários. Se uma pessoa nasceu em Tóquio pouco antes da virada do ano e você está calculando a idade a partir de São Paulo, o "ano de nascimento" pode ser diferente dependendo de qual fuso você considera. Para a grande maioria das situações isso é irrelevante. Em contextos legais, como determinação de maioridade ou elegibilidade para concursos, o fuso local da pessoa é o que vale, e não o do avaliador. Outro ponto fraco: calendários lunares ou sistemas de data alternativos. Se você precisa calcular idade de alguém cuja data de nascimento está registrada no calendário islâmico, hebraico ou outro sistema, a subtração direta de anos gregorianos não funciona. Nesses casos, é preciso converter a data para o calendário gregoriano primeiro. Eu tive que fazer isso uma vez para um processo de documentação de imigração onde a certidão original estava em data islâmica. A conversão mudou o ano de nascimento em quase dois anos, o que alterou completamente o cálculo final.
Se você precisa apenas saber a idade aproximada, a subtração direta basta. Se precisa de precisão legal ou para documentação oficial, o ideal é usar uma biblioteca de manipulação de datas — como moment.js, date-fns ou a função native do banco de dados — que já lida com esses edge cases automaticamente. Resumo sem jeito de resumo: quem nasceu em 2004 terá entre 20 e 21 anos em 2025, dependendo da data exata do aniversário. O cálculo é trivial, mas a execução precisa considerar mês, dia e, em alguns casos, fuso horário e formato de data. Erros nesse tipo de informação costumam aparecer em cadastros mal formatados, e a correção mais rápida é sempre validar a data completa, não só o ano.