根据出生日期计算年龄
public class DateGetAge
{
public static int getAge(Date birthDay) throws Exception
{
Calendar cal = Calendar.getInstance();
if (cal.before(birthDay))
{
throw new IllegalArgumentException(
"The birthDay is before Now.It's unbelievable!");
}
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH);
int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
cal.setTime(birthDay);
int yearBirth = cal.get(Calendar.YEAR);
int monthBirth = cal.get(Calendar.MONTH);
int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
int age = yearNow - yearBirth;
if (monthNow <= monthBirth)
{
if (monthNow == monthBirth)
{
if (dayOfMonthNow < dayOfMonthBirth)
age--;
}
else
{
age--;
}
}
return age;
}
}