java根据身份证计算年龄

Posted 纯洁的心灵

tags:

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

/**
     * 根据身份证计算年龄
     *
     * @param idcard
     * @return
     */
    public static Integer idCardToAge(String idcard) {
        Integer selectYear = Integer.valueOf(idcard.substring(6, 10));         //出生的年份
        Integer selectMonth = Integer.valueOf(idcard.substring(10, 12));       //出生的月份
        Integer selectDay = Integer.valueOf(idcard.substring(12, 14));         //出生的日期
        Calendar cal = Calendar.getInstance();
        Integer yearMinus = cal.get(Calendar.YEAR) - selectYear;
        Integer monthMinus = cal.get(Calendar.MONTH) + 1 - selectMonth;
        Integer dayMinus = cal.get(Calendar.DATE) - selectDay;
        Integer age = yearMinus;
        if (yearMinus < 0) {
            age = 0;
        } else if (yearMinus == 0) {
            age = 0;
        } else if (yearMinus > 0) {
            if (monthMinus == 0) {
                if (dayMinus < 0) {
                    age = age - 1;
                }
            } else if (monthMinus > 0) {
                age = age + 1;
            }
        }
        return age;
    }

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

java实现根据身份证计算年龄的两种方式

pandas根据身份证计算年龄

sql根据身份证计算年龄。

sql中根据身份证号来计算年龄

用身份证号码怎么计算年龄?

JS根据身份证号码精确计算年龄和性别