/**
* @author solo
* @date 2022-08-22 14:44
* @param dateOfBirthStr 出生日期 String格式
* @param endDateStr 截止日期 String格式
* @return java.lang.Integer
*/
public static Integer getAge(String dateOfBirthStr, String endDateStr) {
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date dateOfBirth = null;
Date endDate = null;
try {
dateOfBirth = formatter.parse(dateOfBirthStr);
endDate = formatter.parse(endDateStr);
} catch (ParseException e) {
throw new RuntimeException(e);
}
Integer age = 0;
Calendar born = Calendar.getInstance();
Calendar now = Calendar.getInstance();
if (dateOfBirth != null) {
now.setTime(endDate);
born.setTime(dateOfBirth);
if (born.after(now)) {
throw new RuntimeException("年龄不能超过当前日期");
}
age = now.get(Calendar.YEAR) - born.get(Calendar.YEAR);
int nowDayOfYear = now.get(Calendar.DAY_OF_YEAR);
int bornDayOfYear = born.get(Calendar.DAY_OF_YEAR);
if (nowDayOfYear < bornDayOfYear) {
age -= 1;
}
}
return age;
}
© 版权声明
非商业转载或引用请标注本文链接,商业转载或引用请联系站长
部分文章内容可能来自互联网,如有侵权,请通过邮件联系
部分文章内容可能来自互联网,如有侵权,请通过邮件联系
THE END
暂无评论内容