js dob to years code example

Example 1: javascript get age

function getAge(dateString) 
{
    var today = new Date();
    var birthDate = new Date(dateString);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) 
    {
        age--;
    }
    return age;
}

Example 2: how to code a check age function in javascript

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