身份证号获取年龄 (几岁 或者 几个月 或者几天 )

@SuppressWarnings("deprecation")
    public String getAge(String idcard){
        if(StringUtils.isNotBlank(idcard)){
                String y=idcard.substring(6,10);
                String m=idcard.substring(10,12);
                String d=idcard.substring(12,14);
                Date birthday = new Date(y+"/"+m+"/"+d);
                Calendar now = Calendar.getInstance();
                Calendar b = Calendar.getInstance();
                b.setTime(birthday);

               if (birthday.before(now.getTime())) {  
                int year = now.get(Calendar.YEAR) - b.get(Calendar.YEAR);
                int month = now.get(Calendar.MONTH) - b.get(Calendar.MONTH);
                int day = now.get(Calendar.DAY_OF_MONTH) - b.get(Calendar.DAY_OF_MONTH);
                if (month < 0) {
                    month = 12 - b.get(Calendar.MONTH) + now.get(Calendar.MONTH);
                    year -= 1;
                }
                if (day < 0) {
                    day = b.getMaximum(Calendar.DAY_OF_MONTH) - b.get(Calendar.DAY_OF_MONTH) + now.get(Calendar.DAY_OF_MONTH);
                    month -= 1;
                }
                if(year>0){
                    return  year + "岁";
                }else if(year==0&&month>0){
                    return  month + "月";
                }else if(year==0&&month==0&&day>0){
                    return  day + "天";
                }

          }
        }
        return null;
    }

你可能感兴趣的:(js)