Java怎样实现解析身份证号

Java怎样实现解析身份证号
身份证号解析,demo

/**
 * 身份证号解析demo
 * */
public class TestArea {
    public static void main(String[] args) {
        System.out.println("测试");
        // 需求:身份证号码,地区号+生日:年+月+日+性别
        String cardNo = "61011320010505241X";
        String area = ""; // 前6位,国家标准(国标GB)
        // 截串,身份证18位,固有长度
        area = cardNo.substring(0, 6);
        System.out.println("区域编码:" + area);
         
        String birthday = "";
        birthday = cardNo.substring(6, 14);
        System.out.println("出生年月:" + birthday);
         
         
        int year; // 从中间变量birthday来截取
        year = Integer.parseInt(birthday.substring(0, 4)); // 字符串转成整数
        System.out.println(year);
 
        int month;
        System.out.println(birthday.substring(4, 6));
        month = Integer.parseInt(birthday.substring(4, 6));
        System.out.println(month);
         
        int day;
        day = Integer.parseInt(birthday.substring(6));
        System.out.println(day);
 
         
        System.out.println("" + year + month + day);
        System.out.println("生日:"+year + "年" + month + "月" + day + "日");
         
        //倒数第二位
        String sex = "";
        sex = cardNo.substring( cardNo.length() -2 , cardNo.length() -1);
        System.out.println(sex);
 
    }
}