Java 根据年月日获取当前年龄
主要代码
public static int getAgeByBirthDay(String birthDay){
if (birthDay == null || birthDay.length()<4) {
return 0;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//得到当前的年份
String cYear = sdf.format(new Date()).substring(0,4);
String cMouth = sdf.format(new Date()).substring(5,7);
String cDay = sdf.format(new Date()).substring(8,10);
//得到生日年份
String birth_Year = birthDay .substring(0,4);
String birth_Mouth = birthDay .substring(5,7);
String birth_Day = birthDay .substring(8,10);
//年月日比较后得到年龄
int age = Integer.parseInt(cYear) - Integer.parseInt(birth_Year);
if ((Integer.parseInt(cMouth) - Integer.parseInt(birth_Mouth))<0) {
age=age-1;
}else if ((Integer.parseInt(cMouth) - Integer.parseInt(birth_Mouth))==0) {
if ( (Integer.parseInt(cDay) - Integer.parseInt(birth_Day))>0) {
age=age-1;
}else {
age = Integer.parseInt(cYear) - Integer.parseInt(birth_Year);
}
}else if ((Integer.parseInt(cMouth) - Integer.parseInt(birth_Mouth))>0) {
age = Integer.parseInt(cYear) - Integer.parseInt(birth_Year);
}
return age;
}
还没有评论,来说两句吧...