public static int getAgeByBirth(Date birthDay) throws ParseException {
int age = 0;
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);
age = yearNow - yearBirth; //計算整歲數
if (monthNow <= monthBirth) {
if (monthNow == monthBirth) {
if (dayOfMonthNow < dayOfMonthBirth) age--;//當前日期在生日之前,年齡減一
} else {
age--;//當前月份在生日之前,年齡減一
}
}
return age;
}
---------------------
作者:SunnyLjs
來源:CSDN
原文:https://blog.csdn.net/sunnyljs/article/details/80934685
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!
根據出生日期自動計算年齡
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.