public static int getAge(Date birth, Date to) {
Calendar birthCal = Calendar.getInstance();
if (birth == null) {
return -1;
}
birthCal.setTime(clearTime(birth));
Calendar toCal = Calendar.getInstance();
toCal.setTime(clearTime(to));
int years = toCal.get(Calendar.YEAR) - birthCal.get(Calendar.YEAR);
Calendar tempCal = Calendar.getInstance();
tempCal.setTime(birthCal.getTime());
tempCal.set(Calendar.YEAR, toCal.get(Calendar.YEAR));
if (tempCal.getTime().getTime() / dayValue - toCal.getTime().getTime()
/ dayValue > 0) {
years = years - 1;
}
return years;
}
private static int getAge(String birthDate) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); Calendar calBirth = Calendar.getInstance(); calBirth.setTime(sdf.parse(birthDate)); Calendar cal = Calendar.getInstance(); int yearDiff = cal.get(Calendar.YEAR) - calBirth.get(Calendar.YEAR); calBirth.add(Calendar.YEAR, yearDiff); if (cal.getTimeInMillis() - calBirth.getTimeInMillis() < 0) { return yearDiff - 1; } return yearDiff; }