//1.根据出生日期计算年龄
public static Date parse(String strDate) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.parse(strDate);
}
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;
}
//2.日期往后推迟一年
SimpleDateFormat ft = new SimpleDateFormat("yyyy");
SimpleDateFormat fty = new SimpleDateFormat("MM-dd");
if(StringUtils.isNull(lnrZlnl.getXcsfrq())){
String year = ft.format(lnrZlnl.getSfrq());
String yeary = fty.format(lnrZlnl.getSfrq());
Integer yearint = Integer.parseInt(year)+1;
param.put("gXcsfrq", String.format("%d-%s",yearint,yeary));//下次随访日期
}else{
param.put("gXcsfrq", DateUtils.getDateStr(lnrZlnl.getXcsfrq()));//下次随访日期
}
根据出生日期获取年龄、计算日期往后推迟一年
于 2022-08-10 08:39:31 首次发布