Como Calcular Idade Exata: Anos, Meses e Dias (com Calculadora)
Calcular a idade parece simples — basta subtrair o ano de nascimento do ano atual, certo? Na prática, calcular a idade exata em anos, meses e dias é mais complexo do que parece, especialmente quando envolvemos meses com dias diferentes e anos bissextos.
Índice
- Por que não basta subtrair os anos?
- O algoritmo correto
- Exemplos de cálculo
- Anos bissextos e casos especiais
- Cálculos extras interessantes
- Aplicações práticas
- Perguntas Frequentes
- Ferramentas relacionadas
- Experimente nossa calculadora
Por que não basta subtrair os anos?
Se alguém nasceu em 15 de março de 1990 e hoje é 1 de agosto de 2026, a conta simples 2026 - 1990 = 36 dá o resultado correto em anos. Mas e se a pessoa nasceu em 20 de setembro de 1990? A conta dos anos dá 36, porém a pessoa ainda tem 35 anos (seu aniversário de 36 anos só será em setembro).
Além disso, a simples subtração não fornece os meses e dias exatos, que podem ser importantes para:
- Documentos legais (idade mínima para serviços)
- Cálculos médicos (pediatria, geriatria)
- Curiosidade pessoal (quantos dias você viveu?)
- Planejamento de aposentadoria
O algoritmo correto
O cálculo correto segue esta lógica:
Passo 1: Calcule a diferença em dias
dias = dia_referência - dia_nascimento
Se o resultado for negativo, "emprestamos" dias do mês anterior:
dias = dias + (dias no mês anterior)
meses = meses - 1
Passo 2: Calcule a diferença em meses
meses = mês_referência - mês_nascimento
Se o resultado for negativo:
meses = meses + 12
anos = anos - 1
Passo 3: Calcule a diferença em anos
anos = ano_referência - ano_nascimento
Em JavaScript
function calcularIdade(nascimento, referencia) {
let anos = referencia.getFullYear() - nascimento.getFullYear();
let meses = referencia.getMonth() - nascimento.getMonth();
let dias = referencia.getDate() - nascimento.getDate();
if (dias < 0) {
meses--;
// Dias do mês anterior
const mesAnterior = new Date(
referencia.getFullYear(),
referencia.getMonth(),
0
);
dias += mesAnterior.getDate();
}
if (meses < 0) {
anos--;
meses += 12;
}
return { anos, meses, dias };
}
Exemplos de cálculo
Exemplo 1: Nascido em 15/03/1990, referência 01/08/2026
- Dias: 1 - 15 = -14 → empresta do mês anterior (julho tem 31 dias): 31 - 14 = 17 dias
- Meses: 8 - 3 - 1 (empréstimo) = 4 meses
- Anos: 2026 - 1990 = 36 anos
Resultado: 36 anos, 4 meses e 17 dias
Exemplo 2: Nascido em 29/02/2000, referência 01/03/2026
Este é um caso especial — nascido em 29 de fevereiro (ano bissexto).
- Dias: 1 - 29 = -28 → empresta de fevereiro (2026 não é bissexto, fevereiro tem 28 dias): 28 - 28 = 0 dias
- Meses: 3 - 2 - 1 = 0 meses
- Anos: 2026 - 2000 = 26 anos
Resultado: 26 anos, 0 meses e 0 dias
Exemplo 3: Total de dias vividos
Para o exemplo 1 (nascido em 15/03/1990 até 01/08/2026):
Total = (2026-08-01) - (1990-03-15) = 13.288 dias
Mais de 13 mil dias vividos!
Anos bissextos e casos especiais
Quando um ano é bissexto?
Um ano é bissexto se:
- É divisível por 4 E
- Não é divisível por 100 OU é divisível por 400
function ehBissexto(ano) {
return (ano % 4 === 0 && ano % 100 !== 0) || (ano % 400 === 0);
}
Exemplos: 2000 ✓, 2024 ✓, 1900 ✗, 2100 ✗
Nascidos em 29 de fevereiro
Pessoas nascidas em 29/02 oficialmente fazem aniversário:
- No dia 28/02 em anos não bissextos (na maioria dos países)
- Ou no dia 01/03, dependendo da jurisdição
O cálculo de idade para essas pessoas segue normalmente — apenas o "próximo aniversário" precisa de tratamento especial.
Meses com dias diferentes
O cálculo precisa considerar que:
- Janeiro, março, maio, julho, agosto, outubro, dezembro → 31 dias
- Abril, junho, setembro, novembro → 30 dias
- Fevereiro → 28 ou 29 dias
Cálculos extras interessantes
Além da idade em anos/meses/dias, existem outros dados curiosos:
Dia da semana do nascimento
Usando o objeto Date do JavaScript:
const dias = ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'];
const nascimento = new Date(1990, 2, 15); // 15/03/1990
console.log(dias[nascimento.getDay()]); // "quinta-feira"
Próximo aniversário
Calcule quantos dias faltam para o próximo aniversário encontrando a próxima ocorrência do dia/mês de nascimento.
Total de horas vividas
horas = dias_vividos × 24
Para 13.288 dias: 318.912 horas vividas!
Conversões divertidas
Se você quer converter sua idade em outras unidades, use o Conversor de Unidades para transformar dias em horas, minutos ou segundos.
Aplicações práticas
Documentação legal
Muitos documentos exigem idade exata ou diferença precisa entre datas:
- Aposentadoria (tempo de contribuição em anos, meses e dias)
- Maioridade legal
- Prazos contratuais
Saúde e medicina
- Idade gestacional em semanas e dias
- Idade pediátrica para dosagem de medicamentos
- Marcos de desenvolvimento infantil
Planejamento financeiro
Saber a idade exata ajuda a planejar:
- Tempo até aposentadoria
- Prazo de investimentos
- Conversão de moedas para viagens no aniversário — use o Conversor de Moedas para planejar
Produtividade
Use o Cronômetro Online para medir quanto tempo você gasta em tarefas e comparar com as horas totais do seu dia.
Perguntas Frequentes
Como calcular a idade de um bebê em meses?
Use o mesmo algoritmo, mas foque nos meses. Um bebê nascido em 15/01/2026 tem, em 01/08/2026, exatamente 6 meses e 17 dias.
O cálculo funciona para datas futuras?
Sim! Se você colocar a data de referência no futuro, pode calcular quantos anos terá em determinada data. Útil para planejar "qual será minha idade em 2030?".
Existe diferença entre "idade completa" e "idade cronológica"?
Idade completa refere-se a anos inteiros completados (usada legalmente). Idade cronológica é a medida exata incluindo meses e dias. Nossa calculadora fornece ambas.
Como calcular a diferença entre duas datas quaisquer?
O mesmo algoritmo funciona para quaisquer duas datas — não precisa ser uma data de nascimento. Coloque a data mais antiga como "nascimento" e a mais recente como "referência".
O cálculo é diferente para fusos horários?
Para cálculo de idade em dias, fusos horários podem causar diferença de ±1 dia. Na prática, usa-se apenas a data (sem hora) para cálculos de idade.
Ferramentas relacionadas
- Calculadora de Idade — Calcule idade exata com dia da semana e próximo aniversário
- Cronômetro Online — Meça tempo com precisão
- Conversor de Unidades — Converta entre unidades de medida
- Conversor de Moedas — Converta valores entre moedas
- Calculadora de Porcentagem — Calcule porcentagens
Experimente nossa calculadora
Use gratuitamente a Calculadora de Idade do Toolbox Brasil.
- Calcule idade exata em anos, meses e dias
- Descubra o dia da semana do seu nascimento
- Veja quantos dias faltam para o próximo aniversário
- Total de dias vividos
- 100% no navegador — rápido e privado