输入身份证号计算年龄和性别

  • 身份证号倒数第二位奇数(单数,1、3、5、7、9)为男性,偶数(双数,2、4、6、8、0)为女性。
 /*** 根据身份证号判断性别* @param idNumber* @return*/public static String judgeGender(String idNumber) throws IllegalArgumentException{System.out.println(idNumber.length());if(idNumber.length() != 18 && idNumber.length() != 15){throw new IllegalArgumentException("身份证号长度错误");}int gender = 0;if(idNumber.length() == 18){//如果身份证号18位,取身份证号倒数第二位char c = idNumber.charAt(idNumber.length() - 2);gender = Integer.parseInt(String.valueOf(c));}else{//如果身份证号15位,取身份证号最后一位char c = idNumber.charAt(idNumber.length() - 1);gender = Integer.parseInt(String.valueOf(c));}System.out.println("gender = " + gender);if(gender % 2 == 1){return "男";}else{return "女";}}
 /*** 根据身份证的号码算出当前身份证持有者的年龄** @return*/public static int countAge(String idNumber) {if(idNumber.length() != 18 && idNumber.length() != 15){throw new IllegalArgumentException("身份证号长度错误");}String year;String yue;String day;if(idNumber.length() == 18){year = idNumber.substring(6).substring(0, 4);// 得到年份yue = idNumber.substring(10).substring(0, 2);// 得到月份day = idNumber.substring(12).substring(0,2);//得到日}else{year = "19" + idNumber.substring(6, 8);// 年份yue = idNumber.substring(8, 10);// 月份day = idNumber.substring(10, 12);//日}Date date = new Date();// 得到当前的系统时间SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");String fyear = format.format(date).substring(0, 4);// 当前年份String fyue = format.format(date).substring(5, 7);// 月份String fday=format.format(date).substring(8,10);//int age = 0;if(Integer.parseInt(yue) == Integer.parseInt(fyue)){//如果月份相同//说明已经过了生日或者今天是生日if (Integer.parseInt(day) <= Integer.parseInt(fday)) {age = Integer.parseInt(fyear) - Integer.parseInt(year);} else {age = Integer.parseInt(fyear) - Integer.parseInt(year) - 1;}}else{if(Integer.parseInt(yue) < Integer.parseInt(fyue)){//如果当前月份大于出生月份age = Integer.parseInt(fyear) - Integer.parseInt(year);}else{//如果当前月份小于出生月份,说明生日还没过age = Integer.parseInt(fyear) - Integer.parseInt(year) - 1;}}System.out.println("age = " + age);return age;}

原文链接:https://blog.csdn.net/sipengfei_/article/details/103176883

Java 身份证号 计算年龄、性别相关推荐

  1. 根据身份证号计算年龄

    根据身份证号计算年龄     /// <summary>     /// 计算年龄     /// </summary>     /// <param name=&quo ...

  2. Python根据身份证号计算年龄和退休时间并保存Excel文件

    封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情: 用书教师可以联系董老师获取教学大纲.课件.源码.教案.考试系统等配 ...

  3. 根据出生日期计算年龄或者根据身份证号计算年龄

    可以把这个方法写成一个工具类方便以后在项目中调用,以下是写好的方法可以直接拿去用 注:(此方法计算的是虚岁年龄不是实岁年龄) //根据身份证号计算年龄 //身份证号 //String certNo = ...

  4. PHP根据身份证号计算年龄和年龄分段

    PHP根据身份证号计算年龄和年龄分段 /*** @param $id 身份证号* @return string* 根据身份证号判断年龄和年龄分段*/public function getAgeByID ...

  5. Js--根据身份证号计算年龄、性别、出生年月日

    根据身份证号获取生日 export function getBirthdayByIdCard(idCard: string): string {if (idCard.length === 15) {r ...

  6. python 根据身份证号计算年龄和性别_excel如何根据身份证号计算男女出生日期、性别和年龄?分享了!...

    工作中,有时需要从身份证号中提取性别.出生日期.年龄等.如果手工统计,不仅容易出错,还耗时耗力.春暖花开的时候,有那时间不如出去踏青散步,赏花游玩. 下面小编为大家分享一种方法,使用Excel函数轻松 ...

  7. 【Flutter】Dart 校验身份证号合法性,根据身份证号获取年龄性别

    js版或OC.Java版的都容易找到,Dart版的比较少,mark一下吧. // 校验身份证合法性 bool verifyCardId(String cardId) {const Map city = ...

  8. 根据身份证号计算年龄、性别

    import java.text.SimpleDateFormat; import java.util.Date; //身份证处理 public class IDUtils { /** * 根据身份证 ...

  9. Java根据身份证号计算年龄

    可以使用Java中的SimpleDateFormat类将身份证号中的出生日期解析为日期类型,然后使用ChronoUnit类计算出生日期和当前日期之间的时间差,最后除以365即可得到年龄. 代码示例如下 ...

  10. Java根据15位或者18位身份证号计算年龄代码

    首先,需要验证身份证号码的长度是否为15位或18位.然后,如果身份证号码长度为18位,可以使用substring()方法来获取出生年月日的信息.例如,获取出生年份可以使用substring(6, 10 ...

最新文章

  1. Petapoco 连接oracle11g 自动生成poco时遇到的问题
  2. 腾讯优图+厦门大学发布!2021十大人工智能趋势
  3. Hadoop对Spark:正面比拼报告(架构、性能、成本、安全性和机器学习)
  4. PC人脸识别登录,出乎意料的简单
  5. Java基础-OOP特性之封装、继承、多态、抽象
  6. Spark中Task,Partition,RDD、节点数、Executor数、core数目(线程池)、mem数
  7. 春招收获阿里腾讯实习offer,学习、面试经验分享
  8. 项目管理中的流程管理
  9. 无版权,全免费,请收藏这10个免费高清无权素材网站
  10. 研究计算机 英语,高职计算机英语多方法结合研究
  11. 示波器1m和50欧姆示阻抗匹配_示波器的阻抗选择
  12. Where is the Pizza?
  13. kvm虚拟化管理工具
  14. 导航信号测试用什么软件,专业GPS测试软件 VisualGPSXP入门
  15. c++ int 的范围
  16. 电容传感器FDC2214计算工具FDC_Tools-development5的使用
  17. 使用excel万金油公式的注意事项
  18. 安装window10时没选XPS,现在怎么安装
  19. linux 进入其他磁盘分区,Linux磁盘分区,及磁盘的其他操作
  20. 解决(精简版Excel+2007)中,不能跨表引用公式和复制问题

热门文章

  1. 报表如何集成 echarts 官网示例图
  2. 大型分布式电商系统架构技术总结
  3. Linux入门——环境配置
  4. JavaWeb开发——软件国际化(文本元素国际化)
  5. Zoople HTML 编辑器组件 for NET
  6. AT91RM9200 EK or DK开发参考
  7. win10计算机变成了英文,win10变成英文【处理方式】
  8. 微信机器人接口,微信ipad协议
  9. 学习Linux-4.12内核网路协议栈(1.1)——系统的初始化(do_initcalls)
  10. Windows10设置动态桌面壁纸