Java如何根据身份证号计算年龄

本篇内容主要讲解“Java如何根据身份证号计算年龄”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java如何根据身份证号计算年龄”吧!

成都创新互联公司主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、成都全网营销、网站程序开发、HTML5响应式重庆网站建设公司手机网站制作设计、微商城、网站托管及网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为成都VR全景行业客户提供了网站维护服务。

第一代身份证: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/pdpeoe.html