身份证号判断周岁

Posted shiblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了身份证号判断周岁相关的知识,希望对你有一定的参考价值。

public Integer checkExpertAge(String idCard) 
    //  1.  获取身份证中的出生年、月、日
    Integer personYear = Integer.parseInt(idCard.substring(6, 10));
    Integer personMonth = Integer.parseInt(idCard.substring(10, 12));
    Integer personDay = Integer.parseInt(idCard.substring(12, 14));
    //  2.  获取当前时间的年、月、日
    Calendar cal = Calendar.getInstance();
    Integer yearNow = cal.get(Calendar.YEAR);
    Integer monthNow = cal.get(Calendar.MONTH) + 1;
    Integer dayNow = cal.get(Calendar.DATE);
    //  3.  用当前年月日减去生日年月日
    Integer yearMinus = yearNow - personYear;
    Integer monthMinus = monthNow - personMonth;
    Integer dayMinus = dayNow - personDay;
    //  4.  周岁判断
    Integer age = yearMinus;
    if (yearMinus == 0) 
        //  出生年份为当前年份
        age = 0;
     else 
        //  出生年份大于当前年份
        if (monthMinus < 0) 
            //  出生月份小于当前月份时,还没满周岁
            age = age - 1;
        
        if (monthMinus == 0) 
            //  当前月份为出生月份时,判断日期
            if (dayMinus < 0) 
                //  出生日期小于当前月份时,没满周岁
                age = age - 1;
            
        
    return age;

 

以上是关于身份证号判断周岁的主要内容,如果未能解决你的问题,请参考以下文章

通过身份证号码判断是否已成年

sql中判断身份证号码的出生年月是不是正确合法

使用java判断输入身份证号位数是不是正确,判断输入是不是有效

如何用Python设计一个通过身份证号判断省份的程序?

正则表达式如何验证身份证号?

中文姓名,身份证号,车牌号(正则判断)