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.
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:
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
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários