public class DateUtils {
public static void main(String[] args) {
System.out.println("您的年龄为:"+getAge(parse("19980705")));
}
public static Integer getAge(Date date){
Calendar now=Calendar.getInstance();
Calendar birthday=Calendar.getInstance();
birthday.setTime(date);
if (now.before(birthday)){
throw new IllegalArgumentException("年龄不能超过当前日期!");
}
int yearNow =now.get(Calendar.YEAR);
int monthNow=now.get(Calendar.MONTH);
int dayNow=now.get(Calendar.DAY_OF_MONTH);
int yearBirth =birthday.get(Calendar.YEAR);
int monthBirth=birthday.get(Calendar.MONTH);
int dayBirth=birthday.get(Calendar.DAY_OF_MONTH);
Integer age=yearNow-yearBirth;
if (monthNow<monthBirth||(monthNow==monthBirth&&dayNow<dayBirth)){
age--;
}
return age;
}
public static Date parse(String dateStr){
//转换生日时间并且转换
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyyMMdd");
Date date= null;
try {
date = simpleDateFormat.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}