import java.util.Calendar;
private int sumAge(String csny){
//根据出生年月求年龄
//根据出生年月求年龄 适用于 2018-1-1 类似的日期
//解析出生年月
String[] split = csny.split("-");
if(split.length != 3){
//给的出生年月不合法
return -1;
}
//求当前年月日
Calendar now = Calendar.getInstance();
int year = now.get(Calendar.YEAR);
int month = now.get(Calendar.MONTH) + 1;
int day = now.get(Calendar.DAY_OF_MONTH);
//算出当前大概年龄
int age = year - Integer.parseInt(split[0]);
if(age <0){
//能计算出负数,怕是没出生吧
return -1;
}
if(month - Integer.parseInt(split[1]) > 0){
//过生日了
}else if(month - Integer.parseInt(split[1]) == 0){
//在本月,不知道有没有过生日,需要用天去判断
if(day - Integer.parseInt(split[2]) < 0){
//没有过生日
age -= 1;
}
}else{
//没有过生日
age -= 1;
}
return age;
}
JAVA根据出生年月计算年龄
最新推荐文章于 2024-07-26 17:08:18 发布