怎么在Java项目中根据身份证号计算年龄
这篇文章主要介绍了怎么在Java项目中根据身份证号计算年龄,创新互联小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随创新互联小编来看看吧!
成都创新互联专注于共青城网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供共青城营销型网站建设,共青城网站制作、共青城网页设计、共青城网站官网定制、微信小程序服务,打造共青城网络公司原创品牌,更为您提供共青城网站排名全网营销落地服务。
Java是什么
Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。
第一代身份证:15位身份证号码的意义
15位身份证号码各位的含义:
1-2位省、自治区、直辖市代码;
3-4位地级市、盟、自治州代码;
5-6位县、县级市、区代码;
7-12位出生年月日,比如670401代表1967年4月1日,这是和18位号码的第一个区别;
13-15位为顺序号,其中15位男为单数,女为双数;
与18位身份证号的第二个区别:没有最后一位的校验码。举例:
130503 670401 001的含义; 13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001
第二代身份证:18位身份证号码的意义
①前1、2位数字表示:所在省份的代码,河南的省份代码是41哦!
②第3、4位数字表示:所在城市的代码;
③第5、6位数字表示:所在区县的代码;
④第7~14位数字表示:出生年、月、日;
⑤第15、16位数字表示:所在地的派出所的代码;
⑥第17位数字表示性别:奇数表示男性,偶数表示女性;
⑦第18位数字是校检码:也有的说是个人信息码,一般是随计算机随机产生,用来检验身份证的正确性。校检码可以是0~9的数字,有时也用x表示。举例:
130503 19670401 0012这个身份证号的含义: 13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001,2为校验码。
根据身份证号(18位)提取出生年月日和计算年龄
package idcard; import java.text.SimpleDateFormat; import java.util.Date; public class IdCardTest { //根据身份证号输出年龄 public static int IdNOToAge(String IdNO){ int leh = IdNO.length(); String dates=""; int age = 0; if (leh == 18) { dates = IdNO.substring(6, 10); SimpleDateFormat df = new SimpleDateFormat("yyyy"); String year = df.format(new Date()); age = Integer.parseInt(year)-Integer.parseInt(dates); }else { System.out.println("出错!身份证长度不是18位!"); } return age; } public static void main(String[] args) { System.out.println(IdNOToAge("120000197802150561")); System.out.println(IdNOToAge("32000019951110538X")); } }
15位身份证号码转换成18位身份证号码
package idcard; import java.util.Scanner; public class IDcard15bitTo18bit { public static String[] trans15bitTo18bit(String[] input){ String[] result = new String[18]; for(int i=0;i附:C# 版与VB 版 15位的身份证号转为18位操作示例
C# 版
function ID15T18(strTemp) { var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); var nTemp = 0, i; if(strTemp.length==15) { strTemp = strTemp.substr(0,6) + '19' + strTemp.substr(6,strTemp.length-6); for(i = 0; i < strTemp.length; i ++) { nTemp += strTemp.substr(i, 1) * arrInt[i]; } strTemp += arrCh[nTemp % 11]; } return strTemp; }VB 版
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以上就是创新互联小编为大家收集整理的怎么在Java项目中根据身份证号计算年龄,如何觉得创新互联网站的内容还不错,欢迎将创新互联网站推荐给身边好友。
本文标题:怎么在Java项目中根据身份证号计算年龄
转载来于:http://pwwzsj.com/article/gohoie.html