Pular para o conteúdo
Toolbox BrasilToolbox Brasil

Como Calcular Idade Exata: Anos, Meses e Dias (com Calculadora)

·6 min de leitura·Por Equipe Toolbox Brasil

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?

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

  1. Dias: 1 - 15 = -14 → empresta do mês anterior (julho tem 31 dias): 31 - 14 = 17 dias
  2. Meses: 8 - 3 - 1 (empréstimo) = 4 meses
  3. 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).

  1. Dias: 1 - 29 = -28 → empresta de fevereiro (2026 não é bissexto, fevereiro tem 28 dias): 28 - 28 = 0 dias
  2. Meses: 3 - 2 - 1 = 0 meses
  3. 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

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


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

Abrir Calculadora de Idade →