根据身份证号输出年龄 或根据出身日期计算年龄

//根据年月日计算驾照年龄

 public static int getAgeFromBirthTime(String birthTimeString) {  
        // 先截取到字符串中的年、月、日  
        String strs[] = birthTimeString.trim().split("-");  
        int selectYear = Integer.parseInt(strs[0]);  
        int selectMonth = Integer.parseInt(strs[1]);  
        int selectDay = Integer.parseInt(strs[2]);  
        // 得到当前时间的年、月、日  
        Calendar cal = Calendar.getInstance();  
        int yearNow = cal.get(Calendar.YEAR);  
        int monthNow = cal.get(Calendar.MONTH) + 1;  
        int dayNow = cal.get(Calendar.DATE);  
  
        // 用当前年月日减去生日年月日  
        int yearMinus = yearNow - selectYear;  
        int monthMinus = monthNow - selectMonth;  
        int dayMinus = dayNow - selectDay;  
  
        int age = yearMinus;// 先大致赋值  
        if (yearMinus < 0) {// 选了未来的年份  
            age = 0;  
        } else if (yearMinus == 0) {// 同年的,要么为1,要么为0  
            if (monthMinus < 0) {// 选了未来的月份  
                age = 0;  
            } else if (monthMinus == 0) {// 同月份的  
                if (dayMinus < 0) {// 选了未来的日期  
                    age = 0;  
                } else if (dayMinus >= 0) {  
                    age = 1;  
                }  
            } else if (monthMinus > 0) {  
                age = 1;  
            }  
        } else if (yearMinus > 0) {  
            if (monthMinus < 0) {// 当前月>生日月  
            } else if (monthMinus == 0) {// 同月份的,再根据日期计算年龄  
                if (dayMinus < 0) {  
                } else if (dayMinus >= 0) {  
                    age = age + 1;  
                }  
            } else if (monthMinus > 0) {  
                age = age + 1;  
            }  
        }  
        return age;  

    }  

 //根据身份证号输出年龄
    public static int IdNOToAge(String IdNO){
        int leh = IdNO.length();
        String dates="";
        if (leh == 18) {
            dates = IdNO.substring(6, 10);
            SimpleDateFormat df = new SimpleDateFormat("yyyy");
            String year=df.format(new java.util.Date());
            int u=Integer.parseInt(year)-Integer.parseInt(dates);
            return u;
        }else{
            dates = IdNO.substring(6, 8);
            return Integer.parseInt(dates);
        }


    }

你可能感兴趣的:(工具类)