根据生日计算年龄

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据生日计算年龄相关的知识,希望对你有一定的参考价值。

/*
     * 根据生日计算年龄
     */
    public int age(String birthDate) {
        SimpleDateFormat dft=new SimpleDateFormat("yyyy-MM-dd");
        Date time = null;
        //类型转换
        try {
            time=dft.parse(birthDate);
        } catch (ParseException e1) {
            e1.printStackTrace();
        }
        //获取当前系统时间
        Calendar cal = Calendar.getInstance();
        //如果生日大于当前系统时间,则抛出异常
        if(cal.before(time)){
             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(time);
        //取出出生时的年月日
        int yearBirth = cal.get(Calendar.YEAR);
        int monthBirth = cal.get(Calendar.MONTH);
        int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
        //计算age
        int age = 0;
        age=yearNow - yearBirth;
        if(monthNow<=monthBirth){
            if(monthNow==monthBirth){
                if(dayOfMonthNow<dayOfMonthBirth){
                    age--;
                }
            }else{
                age--;
            }
        }
        return age;
    }

以上是关于根据生日计算年龄的主要内容,如果未能解决你的问题,请参考以下文章

mysql 年龄计算(根据生日字段)

根据出生日计算年龄

java根据生日精确计算年龄

根据生日计算员工年龄

js根据生日计算出年龄

根据生日获取年龄