function getAge(dateString1,dateString2) {
var today = new Date(dateString2);
var birthDate = new Date(dateString1);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
return age;
}
Я знаю, что это какая-то загадка, но я знаю, что эта функция производит ошибочные результаты, но не уверена, когда это будет? DateString - std. объект даты в JavaScript.Возраст не вычисляется правильно?
Input On which it produced faulty results
DateString1
1988-04-05 00:00:00
1965-05-06 00:00:00
1971-03-14 00:00:00
1975-11-10 00:00:00
1981-10-21 00:00:00
1974-06-01 00:00:00
1988-08-11 00:00:00
DateString2
2016-03-31 00:00:00
После оценки возраст никогда не должен прийти> = 65, но для этих значений это было не так.
В каком случае это ошибка? Все они? Что делает эта строка> = 65 с кодом? – epascarello
да все они. Ну в основном я проходил эти 2 даты и возраст должен был быть менее 65 всегда. Но для этих случаев расчетный возраст был либо> или = до 65 –
Когда я запускаю ваш код, ни один из этих случаев не возвращает возраст> = 65. – Jorrex