根据身份证号码计算年龄

根据身份证号码计算年龄(可扩展为工具类)

/*计算年龄的工具类*/
public  Integer CalcAgeByIdNumber(String idNumber){
    int age;//会员年龄
		String fyear,year,fyue,yue;
		Date date = new Date();// 得到当前的系统时间
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
		if(idNumber.length()==18) {//用户身份证为18位时
			 fyear = format.format(date).substring(0,4);// 当前年份
			 fyue = format.format(date).substring(5, 7);// 月份
			 year = idNumber.substring(6).substring(0, 4);// 得到年份
			 yue = idNumber.substring(10).substring(0, 2);// 得到月份
			 if (Integer.parseInt(yue) <= Integer.parseInt(fyue)) { // 当前月份大于用户出身的月份表示已过生
					age = Integer.parseInt(fyear) - Integer.parseInt(year) + 1;
				} else {// 当前用户还没过生
					age = Integer.parseInt(fyear) - Integer.parseInt(year);
				}
		}else {
			fyear = format.format(date).substring(0,4);;// 当前年份
			fyue = format.format(date).substring(5, 7);// 月份
			year = "19" + idNumber.substring(6, 8);
			yue = idNumber.substring(8, 10);// 月份
			if (Integer.parseInt(yue) <= Integer.parseInt(fyue)) { // 当前月份大于用户出身的月份表示已过生
				age = Integer.parseInt(fyear) - Integer.parseInt(year) + 1;
			} else {// 当前用户还没过生
				age = Integer.parseInt(fyear) - Integer.parseInt(year);
			}
		}
    
}		
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值