技术交流群: 233513714
    /**
* 根据身份证计算年龄
*
* @param idcard
* @return
*/
public static Integer idCardToAge(String idcard) {
Integer selectYear = Integer.valueOf(idcard.substring(6, 10)); //出生的年份
Integer selectMonth = Integer.valueOf(idcard.substring(10, 12)); //出生的月份
Integer selectDay = Integer.valueOf(idcard.substring(12, 14)); //出生的日期
Calendar cal = Calendar.getInstance();
Integer yearMinus = cal.get(Calendar.YEAR) - selectYear;
Integer monthMinus = cal.get(Calendar.MONTH) + 1 - selectMonth;
Integer dayMinus = cal.get(Calendar.DATE) - selectDay;
Integer age = yearMinus;
if (yearMinus < 0) {
age = 0;
} else if (yearMinus == 0) {
age = 0;
} else if (yearMinus > 0) {
if (monthMinus == 0) {
if (dayMinus < 0) {
age = age - 1;
}
} else if (monthMinus > 0) {
age = age + 1;
}
}
return age;
}

java身份证计算年龄的更多相关文章

  1. sql 身份证计算年龄和性别

    IdentityNumber 是身份证号 年龄: ,), GETDATE()) / 365.25) as '推荐人年龄', 15位的身份证计算年龄: case when b.IdentityNumbe ...

  2. Java生日计算年龄工具

    package com.web.backend.util; import java.util.Calendar;import java.util.Date; /** * @Author: SongZS ...

  3. SQL语句通过身份证号计算年龄

    SQL语句通过身份证号计算年龄 1.截取身份证号上的出生日期 身份证一般为18位数和15位数 18位数身份证的第7-10位数是出生年份,第11-14位数是出生月日,所以18位身份证的年龄计算如下 su ...

  4. Java 根据年月日精确计算年龄

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Created b ...

  5. Java 计算年龄

    public static String getAgeTxt(String birthTime,String beginTime,int level){ if(StringUtils.isBlank( ...

  6. oracle根据身份证号码 计算年龄、性别

    一.Oracle根据身份证判断性别: 女生身份证: 431382198103246985 男生身份证: 150921197208173492 SQL语句如下:   select decode(mod ...

  7. Java 根据出生日期计算年龄

    1.把出生日期字符串转换为日期格式. public static Date parse(String strDate) throws ParseException { SimpleDateFormat ...

  8. java 根据生日计算年龄 Java问题通用解决代码

    根据生日计算年龄可以通过Calendar实现.最简单可以考虑get(Calendar.DAY_OF_YEAR)来简单修正年龄,但是遇到生日在闰年的2月29之后,或者今年是闰年的2月29之后可能出现计算 ...

  9. java计算年龄

    精确到天计算年龄 public static int getAgeByCardId(String card) throws Exception { Integer len = card.length( ...

随机推荐

  1. sharepoint 2010 FieldLookup 的更新方法

    网上有,但是是错误的,稍微改一下,就可以了 第一个方法是要更新的item,其中 _fieldname 为要更新的lookup字段名字,_lookupValue为要更新的值. public void S ...

  2. http缓存基本介绍

    https://www.helloweba.com/view-blog-414.html

  3. 西门子 S7-1500 PLC,使用手轮控制伺服电机

    西门子 S7-1500 PLC,使用手轮控制伺服电机 本文描述了一种,1500PLC使用叠加定位的方法,实现手轮操作的方法. 手轮操作需要的功能 数控机床等设备上的电子手轮,起源于机械手轮.机械手轮是 ...

  4. April 10 2017 Week 15 Monday

    He alone is poor who does not possess knowledge. 没有知识,才是贫穷. Knowledge, as a important part of wisdom ...

  5. Selenium入门系列5 默认不显示的下拉列表元素操作

    本节课程的下拉框是那种默认隐藏,当鼠标移到菜单上下拉框才显示的.如果直接getelement会报错,提示元素不可见: so,得先让下拉列表显示出来再获取元素 用到的新知识: is_display()  ...

  6. linux 内存地址空间管理 mm_struct

    http://blog.csdn.net/yusiguyuan/article/details/39520933 Linux对于内存的管理涉及到非常多的方面,这篇文章首先从对进程虚拟地址空间的管理说起 ...

  7. 45. 腾讯面试题: 使用hashmap 插入数据,怎么样依照插入数据的顺序输出数据

    题目:使用hashmap 插入数据,怎么样依照插入数据的顺序输出数据 分析: 使用hashmap插入数据,数据的顺序会改变.能够写个小程序试试. 那怎么样依照插入的顺序输出呢? 方法一: 这是我第一时 ...

  8. 深搜,四色定理,(POJ1129)

    题目链接:http://poj.org/problem?id=1129 解题报告: #include<iostream> #include<cstdio> #include&l ...

  9. SSH连接linux时,长时间不操作就断开的解决方案(增强版)

    1.第一次尝试失败 修改/etc/ssh/sshd_config文件, 找到 ClientAliveInterval 0 ClientAliveCountMax 3 并将注释符号("#&qu ...

  10. 2017.9.25 JSP内置对象的概述

    1.JSP的定义: 在JSP中是为了便于数据信息的存储.传递.获取,专门设置了九个内置对象, jsp内置对象是指他们是预先设定的,不需创建,每个对象都有自己的属性和方法. 2.JSP内置对象 对象名称 ...