javascript work out age from date of birth
// to calculate age
var year_born = prompt("Please enter your date of birth:", "Type here");
var d = new Date();
var n = d.getFullYear();
function getAge(birthYear){
var currentDate = new Date();
var currentYear = currentDate.getFullYear();
age = currentYear - birthYear;
return age;
}
calculatedAge = getAge(year_born);
alert("Hello, " + "you are " + calculatedAge + " years old!");
function Person(dob) {
// [1] new Date(dateString)
this.birthday = new Date(dob); // transform birthday in date-object
this.calculateAge = function() {
// diff = now (in ms) - birthday (in ms)
// diff = age in ms
const diff = Date.now() - this.birthday.getTime();
// [2] new Date(value); -> value = ms since 1970
// = do as if person was born in 1970
// this works cause we are interested in age, not a year
const ageDate = new Date(diff);
// check: 1989 = 1970 + 19
console.log(ageDate.getUTCFullYear()); // 1989
// age = year if person was born in 1970 (= 1989) - 1970 = 19
return Math.abs(ageDate.getUTCFullYear() - 1970);
};
}
var age =new Person('2000-1-1').calculateAge();
console.log(age); // 19