码迷,mamicode.com
首页 > 其他好文 > 详细

根据生日计算年龄

时间:2016-12-02 12:00:45      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:simple   ble   form   birt   转换   new   nts   string   日期   

/*
     * 根据生日计算年龄
     */
    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;
    }

根据生日计算年龄

标签:simple   ble   form   birt   转换   new   nts   string   日期   

原文地址:http://www.cnblogs.com/lb1988/p/6124972.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!