话不多说直接上代码:

/*** 通过身份证号码获取出生日期(birthday)、年龄(age)、性别(sex)* @param idCardNo 身份证号码* @return 返回的出生日期格式:1993-05-07   性别格式:1:男,0:女*/public static Map<String, String> getBirthdayAgeSex(String idCardNo) {String birthday = "";String age = "";String sexCode = "";int year = Calendar.getInstance().get(Calendar.YEAR);char[] number = idCardNo.toCharArray();boolean flag = true;if (number.length == 15) {for (int x = 0; x < number.length; x++) {if (!flag){return new HashMap<String, String>();}flag = Character.isDigit(number[x]);}} else if (number.length == 18) {for (int x = 0; x < number.length - 1; x++) {if (!flag){return new HashMap<String, String>();}flag = Character.isDigit(number[x]);}}if (flag && idCardNo.length() == 15) {birthday = "19" + idCardNo.substring(6, 8) + "-"+ idCardNo.substring(8, 10) + "-"+ idCardNo.substring(10, 12);sexCode = Integer.parseInt(idCardNo.substring(idCardNo.length() - 3, idCardNo.length())) % 2 == 0 ? "0" : "1";age = (year - Integer.parseInt("19" + idCardNo.substring(6, 8))) + "";} else if (flag && idCardNo.length() == 18) {birthday = idCardNo.substring(6, 10) + "-"+ idCardNo.substring(10, 12) + "-"+ idCardNo.substring(12, 14);sexCode = Integer.parseInt(idCardNo.substring(idCardNo.length() - 4, idCardNo.length() - 1)) % 2 == 0 ? "0" : "1";age = (year - Integer.parseInt(idCardNo.substring(6, 10))) + "";}Map<String, String> map = new HashMap<String, String>();map.put("birthday", birthday);map.put("age", age);map.put("sex", sexCode);return map;}

根据身份证号码计算生日/年龄/性别相关推荐

  1. 录入学员的身份证后控件焦点转移时根据身份证号码获得生日和性别

    自从接触了报名系统,认证系统,才知道身份证号码里面的信息大有乾坤,以18位的身份证来说,前面六位代表了你户籍所在地,第七位到第十四位代表了你的出生年月,第十五位到第十七为代表了你的性别(偶数为女,奇数 ...

  2. java根据身份证号码得到生日和性别

    java根据身份证号码得到生日和性别 IDCards工具类 执行结果 IDCards工具类 package com.liantuo.finance.utils;//身份证工具类 public clas ...

  3. 根据身份证号码生成生日和性别

      /**/ /*modify bzl 2007-07-12根据身份证号码生成生日和性别*/  String   ls_date,ls_id,ls_sex,ls_month,ls_day,ls_yea ...

  4. 身份证、护照验证 身份证号码获取生日、性别信息

    2019独角兽企业重金招聘Python工程师标准>>> 功能描述 录入一些客户的信息,证件验证,例如身份证.护照验证等.身份证号码验证正确以后,手动录入后实现能自动显示生日.性别 信 ...

  5. 根据身份证号码导出生日和性别(JavaScript代码)

    <script language="Javascript">   function showBirthday(val)   {    var birthdayValue ...

  6. MySql通过身份证号码计算年龄和性别

    一.如何通过身份证号码计算当前用户的年龄 计算规则:先取出身份证上的年份并计算年份与当前年份的差,再比较当前日期与身份证上的月日(即判断此人是否已经过了国历生日),决定是否需要减去一岁,已经过了生日的 ...

  7. 通过身份证号码获取出生日期、性别、年龄

    /*** 通过身份证号码获取出生日期.性别.年龄** @param certificateNo* @return 返回的出生日期格式:1990-01-01 性别格式:F-女,M-男*/public s ...

  8. 转java通过身份证号码获取出生日期、性别、年龄

    转自:https://blog.csdn.net/u011199063/article/details/79564587 身份证号码: 15位:6位地址码+6位出生年月日(900101代表1990年1 ...

  9. java通过身份证号码获取出生日期、性别、年龄

    身份证号码: 15位:6位地址码+6位出生年月日(900101代表1990年1月1日出生)+3位顺序码 18位:6位地址码+8位出生年月日(19900101代表1990年1月1日出生)+3位顺序码+1 ...

最新文章

  1. HTML超文本描述语言,HTML超文本标记语言的介绍
  2. 解决MySQL server has gone away
  3. 数据库事务的隔离级别
  4. 危机下,你还敢提加薪吗?
  5. [IOI2011]Race
  6. DNN结构构建:NAS网络结构搜索和强化学习、迁移学习
  7. 记得把每一次面试当做经验积累,深夜思考
  8. jQuery禁止Ajax请求缓存
  9. python 绘图与可视化 Graphviz 二叉树 、 error: Microsoft Visual C++ 14.0 is required
  10. Java JDBC c3p0
  11. 分拣外观残缺的机器人_【移动机器人(AGV)联盟一周要闻】
  12. Flask + Vue.js : Fullstack Development
  13. linux之debian自动登录
  14. 按工作日加减天数,忽略星期六日
  15. utf8_general_ci、utf8_unicode_ci和utf8_bin的区别
  16. 全网首发:LINUX编译JNA:编译libffi
  17. java中的字符串处理
  18. 软件项目组织与管理期末考试复习要点整理翻译
  19. STM32程序下载1:通过keil-ST-Link方式下载
  20. 第三次面试题目 (反省中!!)

热门文章

  1. 安卓 14 可自定义锁屏时钟尺寸、颜色和透明度
  2. 广州市开发区政务服务中心云平台
  3. 线上CPU负载过高处理
  4. win xp 70技巧 不求人
  5. 化妆品店营销策划方案 - Whale帷幄
  6. 图解硬盘低格操作方法
  7. 雷电模拟器启动报错:opengl版本过低
  8. OBJ转GLTF格式步骤
  9. 常用正则表达式—邮箱
  10. SmartSeed Smart Seed Generation for Efficient Fuzzing