根據出生日期自動計算年齡

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 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章