Im trying to calculate the date of a user but its not calculating the right way
here is my code
var cpr = cprValue.toString();
// cpr is = 0102907896
var dd = cpr.substr(0, 2); // 01
var mm = cpr.substr(2, 2); // 02
var yy = cpr.substr(4, 2); // 90
// Calculate if 90 is > 50
if (yy > 50) {
var year = 1900;
} else {
var year = 2000;
}
var curDate = new Date();
var curYear = curDate.getUTCFullYear(),
curMonth = curDate.getUTCMonth(),
curDay = curDate.getUTCDate();
var myAge = curYear % year;
if (curMonth < mm && curDay < dd || curMonth < mm && curDay === dd || curMonth == mm && `curDay < dd) {`
myAge -= 1;
}
console.log(myAge);
My output is 13 but it should be 24
BUT
if i change the dd,mm,yy and hardcode it like this
var dd = 01;
var mm = 02;
var year = 1990;
Then it works and output is 24 years. what im i doing wrong here?
EDIT
I have tried this instead, but i still get 114 if my year is 1990, but if i hardcore the date its fine :S
var cpr = cprValue.toString();
//cpr is = 0102907896
var dd = cpr.substr(0, 2); // 01
var mm = cpr.substr(2, 2); // 02
var yy = cpr.substr(4, 2); // 90
//Calculate if 90 is > 50
if (yy>50) {
var year = 1900;
} else {
var year = 2000;
}
var final = year + "-" + mm + "-" + dd;
console.log("Final: "+ final);
var alder = moment().diff(final, 'years');
console.log(alder);