java 根据身份证号码判断出生日期、性别、年龄的示例
1.情景展示
如何根据身份证号,计算出出生日期、性别、年龄?
2.解决方案
从网上找的别人的,因为并没有实际用到,所以并未对其优化!
/** *通过身份证号码获取出生日期、性别、年龄 *@paramcertificateNo *@return返回的出生日期格式:1990-01-01性别格式:F-女,M-男 */ publicstaticMapgetBirAgeSex(StringcertificateNo){ Stringbirthday=""; Stringage=""; StringsexCode=""; intyear=Calendar.getInstance().get(Calendar.YEAR); char[]number=certificateNo.toCharArray(); booleanflag=true; if(number.length==15){ for(intx=0;x (); flag=Character.isDigit(number[x]); } }elseif(number.length==18){ for(intx=0;x (); flag=Character.isDigit(number[x]); } } if(flag&&certificateNo.length()==15){ birthday="19"+certificateNo.substring(6,8)+"-"+certificateNo.substring(8,10)+"-" +certificateNo.substring(10,12); sexCode=Integer.parseInt(certificateNo.substring(certificateNo.length()-3,certificateNo.length())) %2==0?"F":"M"; age=(year-Integer.parseInt("19"+certificateNo.substring(6,8)))+""; }elseif(flag&&certificateNo.length()==18){ birthday=certificateNo.substring(6,10)+"-"+certificateNo.substring(10,12)+"-" +certificateNo.substring(12,14); sexCode=Integer.parseInt(certificateNo.substring(certificateNo.length()-4,certificateNo.length()-1)) %2==0?"F":"M"; age=(year-Integer.parseInt(certificateNo.substring(6,10)))+""; } Map map=newHashMap (); map.put("birthday",birthday); map.put("age",age); map.put("sexCode",sexCode); returnmap; }
根据身份证号提取出生日期
//出生日期 Stringbirthday=""; //身份证号不为空 if(sfzh.length()==15){ birthday="19"+sfzh.substring(6,8)+"-"+sfzh.substring(8,10)+"-"+sfzh.substring(10,12); }elseif(sfzh.length()==18){ birthday=sfzh.substring(6,10)+"-"+sfzh.substring(10,12)+"-"+sfzh.substring(12,14); }
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!
以上就是java根据身份证号码判断出生日期、性别、年龄的示例的详细内容,更多关于Java身份证号码的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。