我们假设一个场景,当你与前端进行交互时,前端显示用户信息需要一个age年龄显示,但是数据库表的设计却没有age这个字段只给了一个身份证号,这个时候你该怎么办呢?

接下来为大家解决这个烦恼的问题,首先我们需要自己编写一个工具类,附上代码

public static Integer  getAgeByIdCard(String idCard) throws ParseException {
        char[] chars = idCard.substring(6, idCard.length() - 4).toCharArray();
        StringBuffer birthday=new StringBuffer();
        for (int i=0;i<chars.length;i++){
            birthday.append(chars[i]);
            if(i==3||i==5){
                birthday.append("-");
            }
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
 
            Date currentDate = new Date();
            int currentYear = currentDate.getYear()+1900;
            int currentMonth = currentDate.getMonth()+1;
            int currentDay = currentDate.getDay();
 
            Date birthdayDate = simpleDateFormat.parse(String.valueOf(birthday));
            int age=currentYear-(birthdayDate.getYear()+1900);
            int myDay=birthdayDate.getDay();
            int myMonth=birthdayDate.getMonth()+1;
            if(myMonth>currentMonth){
                age-=1;
            }
            else if(myMonth==currentMonth){
                if (myDay < currentDay) {
                    age-=1;
                }
            }
            return  age;

}

测试效果:

String idCard="430223200001020213";
        try {
            Integer ageByIdCard = getAgeByIdCard(idCard);
            System.out.println(ageByIdCard);
        } catch (ParseException e) {
            e.printStackTrace();
}

输出结果:

是不是得到了我们想要的年龄呢,其实代码非常简单,就是将我们的身份证号拆分开,获取年月日所在的字符位置然后装起来再遍历一下就可以获得到一个年-月-日的字符串,然后我们再使用Date时间函数做一个判断就能得到一个具体的时间。

学会了记得点个赞哦。

Java后端根据身份证号获取年龄相关推荐

  1. Java身份证号脱敏、校验身份证号合法性、根据身份证号获取年龄、根据生日获取年龄

    这里写目录 身份证号编码规则 身份证号脱敏 身份证号合法性校验 根据身份证号获取年龄 根据生日日期获取年龄 根据身份证号获取年龄.生日的Map集合 身份证号编码规则 第一.二位表示省(自治区.直辖市. ...

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

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

  3. 根据身份证号获取年龄和性别

    public static void main(String[] args) {judgeGender("身份证号");countAge("身份证号");}/* ...

  4. 根据身份证号获取出生日期

    先去这个地址拷贝解析身份证号码的封装方法:(直接全部拷贝) https://blog.csdn.net/weixin_44542781/article/details/116377458?spm=10 ...

  5. 根据身份证号获取信息

    1.根据身份证号获取年龄 export function analyzeIDCard(IDCard){let age = 0,yearBirth,monthBirth,dayBirth;//获取用户身 ...

  6. java代码实现根据身份证号获取性别,年龄

    根据身份证号获取性别,年龄 // 根据身份编号获取性别public static String getGenderByIdCard(String idCard) {String sGender = & ...

  7. 利用python获取身份证号中年龄和性别信息

    import datetime class GetInformation(object):def __init__(self,id):self.id = idself.birth_year = int ...

  8. js脚本根据身份证号获取性别、年龄、家庭地址、生日

    做项目测试时需要根据身份证号获取其信息,也不想调接口,就自己在本地通过收集资料整合了一个 当身份证号的焦点失去选中后,根据身份证号获取性别.年龄.家庭地址.生日 直接上代码: index.html & ...

  9. 通过身份证号获取个人信息(JAVA代码)

    通过身份证号获取个人信息(JAVA代码) 个人思路 如果有错误,欢迎留言 代码 个人思路 文档下载地址: 身份证对应省区 1.首先对身份证进行输入 对身份证信息进行匹配看是否符合身份证规则,我是利用正 ...

最新文章

  1. python爬虫案例-Python爬虫案例集合
  2. python sklearn.learning_curve 什么是学习曲线?
  3. 奇奇seo优化软件_信阳seo优化排名软件
  4. GIS实战应用案例100篇(十五)-CASS插件应用:如何控制点属性与点名统一
  5. .NET MVC异步调用中的Session问题
  6. 2019全球编程语言高薪排行榜登场;余承东正式宣布华为IFA2019 或发布麒麟990;OPPO、vivo和小米成立互传联盟…...
  7. 华为MatePad Pro 5G平板正式发布:售价5299元起!
  8. 日本AI画师火速走红:印象派画作秒秒钟完工,看一整天都不腻,你也能来DIY...
  9. clr错误 8004005程序将立即终止_微软公开发布更多Surface驱动程序 固件支持终止日期...
  10. Web Service Compression for .NET CF 3.5
  11. 滴滴辞退2000人启示:牛逼的人,都有自己的铁饭碗
  12. 第五章 编码/加密——《跟我学Shiro》[张开涛]
  13. phantomjs selenium实现刷搜索引擎,刷百度来路,刷点击,真实有效果
  14. java之简易生成彩色二维码实践
  15. “沉迷单车的追风少年”的2021年年末总结
  16. VScode快速创建HTML标签
  17. 源码阅读工具-understand
  18. ant design 预览图片_Ant Design Pro上传图片
  19. 有用的一些链接Powerstore VxRail
  20. 人事管理系统如何做好员工考勤管理?

热门文章

  1. 成绩管理系统(C语言)完整代码,纯C的练手程序
  2. Excel画的图复制到Word中变形的解决办法
  3. 计算机盖,盖珂珂_北京理工大学计算机学院
  4. 计算机品牌及介绍,【推广】电脑电源参数和品牌的介绍
  5. 天天炫斗服务器维修,【天天炫斗】弱网处理及断线重连方案
  6. winform显示器适配(解决字体模糊,界面错乱,多屏适配)
  7. 一款仿网易云音乐的App
  8. Mac操作系统下怎么显示隐藏文件
  9. 为什么国内APP热衷于皮肤特效
  10. 3d Max安装失败(Microsoft Visual C++ 2010 SP1 Redistributable (x86) Failed...