Здесь не учтено следующее:
Например
var date1 = '01/06/1988';
var date2 = '01/01/2008';
var date = new Date();
date.setTime(Date.parse(date1));
var year1 = date.getFullYear();
date.setTime(Date.parse(date2));
var year2 = date.getFullYear();
var age = year2 - year1;
alert('Your age: '+ age); // ответ 10, а на деле 9.5 лет
Надо учесть месяц и так же день месяца
date.setTime(Date.parse(date1));
var year1 = date.getFullYear(), month1 = date.getMonth(), day1 = date.getDate();
date.setTime(Date.parse(date2));
var year2 = date.getFullYear(), month2 = date.getMonth(), day2 = date.getDate();
var age = year2 - year1;
if ((month1 > month2) || // месяц рождения еще не наступил
((month1 == month2) && (day1 > day2))) { // месяц наступил, но дата еще на подошла
age --; // уменьшим возраст в полных лет
}
alert('Your age: '+ age); // ответ 9 ПОЛНЫХ лет