Java 根据出生日期计算年龄

1.把出生日期字符串转换为日期格式。

publicstaticDate parse(String strDate) throwsParseException {

        SimpleDateFormat sdf = newSimpleDateFormat("yyyy-MM-dd");

        returnsdf.parse(strDate);

    }

2.计算年龄

publicstaticintgetAge(Date birthDay) throwsException {

        Calendar cal = Calendar.getInstance(); 

        if(cal.before(birthDay)) { //出生日期晚于当前时间,无法计算

            thrownewIllegalArgumentException(

                    "The birthDay is before Now.It's unbelievable!");

        }

        intyearNow = cal.get(Calendar.YEAR);  //当前年份

        intmonthNow = cal.get(Calendar.MONTH);  //当前月份

        intdayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); //当前日期

        cal.setTime(birthDay); 

        intyearBirth = cal.get(Calendar.YEAR);

        intmonthBirth = cal.get(Calendar.MONTH);

        intdayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);  

        intage = yearNow - yearBirth;   //计算整岁数

            if(monthNow <= monthBirth) {

            if(monthNow == monthBirth) {

                if(dayOfMonthNow < dayOfMonthBirth) age--;//当前日期在生日之前,年龄减一

            }else{

                age--;//当前月份在生日之前,年龄减一

} } returnage; }

转载地址:https://www.cnblogs.com/fuchuanzhipan1209/p/9596614.html

你可能感兴趣的:(Java 根据出生日期计算年龄)