Calcular a idade com base em uma data de nascimento é uma tarefa comum em muitos projetos web, como sistemas de cadastro de usuários, formulários e até aplicativos que lidam com datas. Felizmente, com JavaScript, isso pode ser feito de forma relativamente simples. Neste post, você aprenderá como calcular idade em JavaScript.

1. Capturando a data de nascimento e a data atual

Para calcular a idade, primeiro precisamos de duas informações essenciais: a data de nascimento e a data atual. Podemos obter a data atual usando o objeto Date em JavaScript:

const dataAtual = new Date();

Agora, imagine que temos a data de nascimento de uma pessoa, como:

const dataNascimento = new Date('1990-10-24');

2. Calculando a diferença de anos

Uma maneira simples de calcular a idade é subtrair o ano da data de nascimento do ano da data atual:

const anoAtual = dataAtual.getFullYear();
const anoNascimento = dataNascimento.getFullYear();

let idade = anoAtual - anoNascimento;

Isso já nos dá uma aproximação da idade, mas ainda precisamos lidar com um detalhe: o mês e o dia de nascimento. Se a pessoa ainda não fez aniversário neste ano, precisamos subtrair 1.

3. Ajustando com mês e dia de nascimento

Para garantir que a idade está correta, comparamos os meses e dias:

const mesAtual = dataAtual.getMonth();
const mesNascimento = dataNascimento.getMonth();
const diaAtual = dataAtual.getDate();
const diaNascimento = dataNascimento.getDate();

// Verificar se o mês atual é menor que o mês de nascimento
if (mesAtual < mesNascimento || (mesAtual === mesNascimento && diaAtual < diaNascimento)) {
    idade--;
}

console.log(`A idade é: ${idade} anos.`);

4. Função para calcular idade

Agora que você entendeu o processo, podemos encapsular isso em uma função reutilizável:

function calcularIdade(dataNascimento) {
  const dataAtual = new Date();
  const anoAtual = dataAtual.getFullYear();
  const mesAtual = dataAtual.getMonth();
  const diaAtual = dataAtual.getDate();
  
  const anoNascimento = dataNascimento.getFullYear();
  const mesNascimento = dataNascimento.getMonth();
  const diaNascimento = dataNascimento.getDate();
  
  let idade = anoAtual - anoNascimento;

  // Verifica se a pessoa já fez aniversário este ano
  if (mesAtual < mesNascimento || (mesAtual === mesNascimento && diaAtual < diaNascimento)) {
      idade--;
  }
  
  return idade;
}

// Exemplo de uso
const dataNasc = new Date('1990-10-24');
console.log(`A pessoa tem ${calcularIdade(dataNasc)} anos.`);

5. Lidando com diferentes formatos de data

É importante observar que o formato da data em JavaScript pode variar. Aqui, usamos o formato ISO ('YYYY-MM-DD'), mas você também pode usar outros formatos, como 'DD/MM/YYYY', desde que trate corretamente a conversão.

Outro exemplo prático

Calcular idade com base em datas de nascimento:

function calculateAge(dobString) {
		 
   var dob = new Date(dobString);
   var currentDate = new Date();
   var currentYear = currentDate.getFullYear();
   var birthdayThisYear = new Date(dob.getDay(), dob.getMonth(), currentYear);
   var age = currentYear - dob.getFullYear();
 
   if(birthdayThisYear > currentDate) {
		
      age--;
   } 
      return age;

}

Calcular a idade em JavaScript é um processo simples, que envolve comparar datas e ajustar a diferença com base em meses e dias.

Agora que você aprendeu como fazer isso, pode aplicar essa função em qualquer parte de seu projeto, seja em formulários, sistemas de cadastro ou qualquer outra aplicação que precise dessa funcionalidade.

QUER SER UM PROGRAMADOR FULL-STACK E DOMINAR AS PRINCIPAIS TECNOLOGIAS DO MERCADO?

Aprenda através de projetos reais e aulas práticas. São 20 cursos completos + cursos bônus. Grupos privados exclusivos, atualizações constantes e lives semanais.

Python, PHP, Java Script, CSS, Node, Angular JS, MySQL, Photoshop, Flutter, AWS, Apache e muito mais!

CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:

CLIQUE AQUI E SAIBA MAIS

Dúvidas ou sugestões sobre como calcular idade em JavaScript? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Tags:

Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

Não enviamos spam. Seu e-mail está 100% seguro!

Sobre o Autor

Bene Silva Júnior
Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *