Java 身份证号 计算年龄、性别
输入身份证号计算年龄和性别
- 身份证号倒数第二位奇数(单数,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 身份证号 计算年龄、性别相关推荐
- 根据身份证号计算年龄
根据身份证号计算年龄 /// <summary> /// 计算年龄 /// </summary> /// <param name=&quo ...
- Python根据身份证号计算年龄和退休时间并保存Excel文件
封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情: 用书教师可以联系董老师获取教学大纲.课件.源码.教案.考试系统等配 ...
- 根据出生日期计算年龄或者根据身份证号计算年龄
可以把这个方法写成一个工具类方便以后在项目中调用,以下是写好的方法可以直接拿去用 注:(此方法计算的是虚岁年龄不是实岁年龄) //根据身份证号计算年龄 //身份证号 //String certNo = ...
- PHP根据身份证号计算年龄和年龄分段
PHP根据身份证号计算年龄和年龄分段 /*** @param $id 身份证号* @return string* 根据身份证号判断年龄和年龄分段*/public function getAgeByID ...
- Js--根据身份证号计算年龄、性别、出生年月日
根据身份证号获取生日 export function getBirthdayByIdCard(idCard: string): string {if (idCard.length === 15) {r ...
- python 根据身份证号计算年龄和性别_excel如何根据身份证号计算男女出生日期、性别和年龄?分享了!...
工作中,有时需要从身份证号中提取性别.出生日期.年龄等.如果手工统计,不仅容易出错,还耗时耗力.春暖花开的时候,有那时间不如出去踏青散步,赏花游玩. 下面小编为大家分享一种方法,使用Excel函数轻松 ...
- 【Flutter】Dart 校验身份证号合法性,根据身份证号获取年龄性别
js版或OC.Java版的都容易找到,Dart版的比较少,mark一下吧. // 校验身份证合法性 bool verifyCardId(String cardId) {const Map city = ...
- 根据身份证号计算年龄、性别
import java.text.SimpleDateFormat; import java.util.Date; //身份证处理 public class IDUtils { /** * 根据身份证 ...
- Java根据身份证号计算年龄
可以使用Java中的SimpleDateFormat类将身份证号中的出生日期解析为日期类型,然后使用ChronoUnit类计算出生日期和当前日期之间的时间差,最后除以365即可得到年龄. 代码示例如下 ...
- Java根据15位或者18位身份证号计算年龄代码
首先,需要验证身份证号码的长度是否为15位或18位.然后,如果身份证号码长度为18位,可以使用substring()方法来获取出生年月日的信息.例如,获取出生年份可以使用substring(6, 10 ...
最新文章
- Petapoco 连接oracle11g 自动生成poco时遇到的问题
- 腾讯优图+厦门大学发布!2021十大人工智能趋势
- Hadoop对Spark:正面比拼报告(架构、性能、成本、安全性和机器学习)
- PC人脸识别登录,出乎意料的简单
- Java基础-OOP特性之封装、继承、多态、抽象
- Spark中Task,Partition,RDD、节点数、Executor数、core数目(线程池)、mem数
- 春招收获阿里腾讯实习offer,学习、面试经验分享
- 项目管理中的流程管理
- 无版权,全免费,请收藏这10个免费高清无权素材网站
- 研究计算机 英语,高职计算机英语多方法结合研究
- 示波器1m和50欧姆示阻抗匹配_示波器的阻抗选择
- Where is the Pizza?
- kvm虚拟化管理工具
- 导航信号测试用什么软件,专业GPS测试软件 VisualGPSXP入门
- c++ int 的范围
- 电容传感器FDC2214计算工具FDC_Tools-development5的使用
- 使用excel万金油公式的注意事项
- 安装window10时没选XPS,现在怎么安装
- linux 进入其他磁盘分区,Linux磁盘分区,及磁盘的其他操作
- 解决(精简版Excel+2007)中,不能跨表引用公式和复制问题