Como posso calcular uma idade em anos, dada a data de nascimento no formato AAAAMMDD? É possível usar a Date()
função?
Estou procurando uma solução melhor do que a que estou usando agora:
var dob = '19800810';
var year = Number(dob.substr(0, 4));
var month = Number(dob.substr(4, 2)) - 1;
var day = Number(dob.substr(6, 2));
var today = new Date();
var age = today.getFullYear() - year;
if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day)) {
age--;
}
alert(age);
Date
objeto teria que fazer se o encapsulasse. As pessoas poderiam escrever livros sobre a insensatez do manuseio de JS Date
. ... Se você pode conviver algumas vezes com um dia de folga, então a aproximação: AgeInYears = Math.floor ( (now_Date - DOB_Date) / 31556952000 )
é o mais simples possível.