Calculate age in JS given the birth date in "dd/mm/yyyy" format

Viewed 44

I am trying to write a function in JavaScript to calculate age. I wrote a function but it does not give accurate age.

function calculateAge(date) {
  var formattedDate = date.split("/")
  var birthdateTimeStamp = new Date(formattedDate[2], [1], formattedDate[0])
  var currentDate = new Date().getTime();
  var difference = currentDate - birthdateTimeStamp;
  var currentAge = Math.floor(difference / 31557600000)
  // dividing by 1000*60*60*24*365.25
  return currentAge
}

I try calculateAge("25/11/1993") and I don't get accurate age. Kindly guide me.

1 Answers

You missed the formattedDate for [1] in the new Date() function, so formattedDate[1] it should be.

function calculateAge(date) {
  var formattedDate = date.split("/")
  var birthdateTimeStamp = new Date(formattedDate[2], formattedDate[1], formattedDate[0])
  var currentDate = new Date().getTime();
  var difference = currentDate - birthdateTimeStamp;
  var currentAge = Math.floor(difference / 31557600000)
  // dividing by 1000*60*60*24*365.25
  return currentAge
}

var age = calculateAge('25/11/1993');
console.log('My age is', age);

Related