摘要:方法描述根据身份证获取年龄,性别表示女表示男获取系统当前时间
/** * 方法描述: 根据身份证获取年龄,性别 * 2表示女 * 1表示男 * @param idNum * @return * String[] * @author husheng */ public static String[] getAgeAndSexById(String idNum) { String age = ""; String sex = ""; GregorianCalendar calendar = new GregorianCalendar(TimeZone.getDefault());//获取系统当前时间 int currentYear = calendar.get(Calendar.YEAR); if (idNum.matches("^d{15}$|^d{17}[dxX]$")) { if (idNum.length() == 18) { Pattern pattern = Pattern.compile("d{6}(d{4})d{6}(d{1})[dxX]{1}"); Matcher matcher = pattern.matcher(idNum); if (matcher.matches()) { age = String.valueOf(currentYear - Integer.parseInt(matcher.group(1))); sex = "" + Integer.parseInt(matcher.group(2))%2; } } else if (idNum.length() == 15) { Pattern p = Pattern.compile("d{6}(d{2})d{5}(d{1})d{1}"); Matcher m = p.matcher(idNum); if (m.matches()) { int year = Integer.parseInt(m.group(1)); year = 2000 + year; if (year > 2020) { year = year - 100; } age = String.valueOf(currentYear - year); sex = "" + Integer.parseInt(m.group(2))%2; } } } if ("0".equals(sex)) { sex = "2"; } return new String[]{age, sex}; }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/66805.html
摘要:这只是我尝试做的一个简单的程序,顺便复习下语言,希望以后的自己能更加努力,努力跟随大佬们的脚步。 这只是我尝试做的一个简单的程序,顺便复习下C语言,希望以后的自己能更加努力,努力跟随大佬们的脚步。 C语言学生信息管理系统包括以下功能: 1.添加学生信息 2.查询学生信息 3.修改学生信息 4...
阅读 3334·2021-10-13 09:40
阅读 2568·2021-10-08 10:17
阅读 3968·2021-09-28 09:45
阅读 900·2021-09-28 09:35
阅读 1775·2019-08-30 10:51
阅读 2883·2019-08-26 12:11
阅读 1621·2019-08-26 10:41
阅读 3068·2019-08-23 17:10