Java根据身份证号计算年龄,15位身份证号码转18位原理与操作示例java

第一代身份证:15位身份证号码的意义

15位身份证号码各位的含义:1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码;7-12位出生年月日,比如670401代表1967年4月1日,这是和18位号码的第一个区别;13-15位为顺序号,其中15位男为单数,女为双数;与18位身份证号的第二个区别:没有最后一位的校验码。

举例:130503670401001的含义;13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001

第二代身份证:18位身份证号码的意义

①前1、2位数字表示:所在省份的代码,河南的省份代码是41哦!②第3、4位数字表示:所在城市的代码;③第5、6位数字表示:所在区县的代码;④第7~14位数字表示:出生年、月、日;⑤第15、16位数字表示:所在地的派出所的代码;⑥第17位数字表示性别:奇数表示男性,偶数表示女性;⑦第18位数字是校检码:也有的说是个人信息码,一般是随计算机随机产生,用来检验身份证的正确性。校检码可以是0~9的数字,有时也用x表示。

举例:

130503196704010012这个身份证号的含义:13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001,2为校验码。

根据身份证号(18位)提取出生年月日和计算年龄

packageidcard;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassIdCardTest{//根据身份证号输出年龄publicstaticintIdNOToAge(StringIdNO){intleh=IdNO.length();Stringdates="";intage=0;if(leh==18){dates=IdNO.substring(6,10);SimpleDateFormatdf=newSimpleDateFormat("yyyy");Stringyear=df.format(newDate());age=Integer.parseInt(year)-Integer.parseInt(dates);}else{System.out.println("出错!身份证长度不是18位!");}returnage;}publicstaticvoidmain(String[]args){System.out.println(IdNOToAge("120000197802150561"));System.out.println(IdNOToAge("32000019951110538X"));}}15位身份证号码转换成18位身份证号码

附:C#版与VB版15位的身份证号转为18位操作示例

C#版

functionID15T18(strTemp){vararrInt=newArray(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);vararrCh=newArray('1','0','X','9','8','7','6','5','4','3','2');varnTemp=0,i;if(strTemp.length==15){strTemp=strTemp.substr(0,6)+'19'+strTemp.substr(6,strTemp.length-6);for(i=0;i

privatestringConvert15To18(stringstrTemp){int[]arrInt=newint[]{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};stringarrCh="10X98765432";intnTemp=0;if(strTemp.Length==15){strTemp=strTemp.Substring(0,6)+"19"+strTemp.Substring(6,strTemp.Length-6);for(inti=0;i

另外,本站在线工具小程序上也有一款功能更加强大的身份证信息获取工具,感兴趣的朋友可以扫描如下小程序码查看:

THE END
1.居民身份证号码第15和16位数字代表什么–手机爱问身份证号码的第15、16位数字是持证人的户口所在地的派出所的代码。公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。 代码从左至右的含义是:第一、二位表示省;第三、四位表示市。 其中,01-20,51https://m.iask.sina.com.cn/b/6dicWi7LE4S.html
2.居民身份证号码第15和16位数字代表什么?居民身份证号码第15和16位数字代表什么 ?( ) A.同一区域范围内同年同月同日生人的顺序 B.同一年份出生人的顺序 C.同一月份出生人的顺序 D.同一小时内出生人的顺序https://www.netkao.com/shiti/819350/1310bd8mnxbpql.html
3.居民身份证号码第15位第16位代表什么?律师普法的第15、16位是分配顺序代码,是报户口时派出所的代码;第 15、16、17位是顺序及性别码;第17位是辨别性别的,单号是男性,双号是女性;前六位是数字地址码,第7到14位是出生日期码。 《中华人民共和国居民身份证法》第三条居民身份证登记的项目包括:姓名、性别、民族、出生日期、常住户口所在地住址、公民身份号码https://www.110ask.com/tuwen/4883077290416079347.html
4.涨知识身份证后4位数还有这么重要的含义!15和16位代表的是所在地派出所的代码 第17位代表的是性别,奇数是男性,偶数是女性 最后一位是校验码,有的人身份证是0-9的其中一个数字,也有的人是一个X,其实X代表的是数字10,由于直接用10来做尾号,身份证号码会变成19位,就无法统一成18位了,而X是罗马数字的10,细心的朋友就会发现,我们生活中大部分的钟表http://www.liaozhai.tv/folder34/folder131/folder134/2021-04-06/qnWWhRKNuzdojjjl.html
5.身份证第15,16位代表什么身份证号码的第15、16位数字是持证人的户口所在地的派出所的代码。身份证号结构和形式如下:1、号码的结构:公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码;2、地址码:表示编码对象https://zhidao.baidu.com/question/592378165761767525.html
6.热搜第一!身份证上的“X”,究竟读啥?你一定想不到!④第7~14位数字表示:出生年、月、日; ⑤第15、16位数字表示:所在地的派出所的代码; ⑥第17位数字表示性别:奇数表示男性,偶数表示女性; ⑦第18位数字是校检码:用来检验身份证的正确性。校检码可以是0~9的数字,有时也用X表示。 尾号“X”是啥意思? https://m.gmw.cn/2023-12/07/content_1303593822.htm
7.身份证号码知多少5第15、16位数字表示:所在地的派出所的代码; 6第17位数字表示性别:奇数表示男性,偶数表示女性; 7第18位数字是校检码:也有的说是个人信息码,不是随计算机的随机产生,它是 用来检验身份证的正确性。校检码可以是0—9的数字,有时也用x表示。作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人https://www.jianshu.com/p/be976e641dac