JSFiddle - React, Tailwind, and code Playground
JavaScript
function getAge(dateString) {
var now = new Date();
var today = new Date(now.getYear(),now.getMonth(),now.getDate());
var yearNow = now.getYear();
var monthNow = now.getMonth();
var dateNow = now.getDate();
var dob = new Date(dateString);
var yearDob = dob.getYear();
var monthDob = dob.getMonth();
var dateDob = dob.getDate();
var age = {};
var ageString = "";
var yearString = "";
var monthString = "";
var dayString = "";
yearAge = yearNow - yearDob;
if (monthNow >= monthDob)
var monthAge = monthNow - monthDob;
else {
yearAge--;
var monthAge = 12 + monthNow -monthDob;
}
if (dateNow >= dateDob)
var dateAge = dateNow - dateDob;
else {
monthAge--;
var dateAge = 31 + dateNow - dateDob;
if (monthAge < 0) {
monthAge = 11;
yearAge--;
}
}
age = {
years: yearAge,
months: monthAge,
days: dateAge
};
//if ( age.years > 1 ) yearString = " years";
//else yearString = " year";
var totMonths = age.months + age.years;
if ( totMonths > 1 ) monthString = " months";
else monthString = " month";
if ( age.days > 1 ) dayString = " days";
else dayString = " day";
if ( (totMonths == 0) && (age.days > 0)
ageString = "Only " + age.days + dayString + " old!";
else if ( (totMonths > 0) && (age.days == 0))
ageString = totMonths + monthString + " old.";
else if ( (totMonths > 0) && (age.days > 0))
ageString = totMonths + monthsString + " and " + age.days + dayString + " old.";
else ageString = "Oops! Could not calculate age!";
return ageString;
}
alert(getAge('11/27/1993'));