700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 根据出生日期计算年龄或者根据身份证号计算年龄

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

时间:2019-07-14 01:47:38

相关推荐

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

可以把这个方法写成一个工具类方便以后在项目中调用,以下是写好的方法可以直接拿去用

注:(此方法计算的是虚岁年龄不是实岁年龄)

//根据身份证号计算年龄//身份证号//String certNo = "430181200003161010";//String birthTimeString = certN.substring(6,10)+"-"+certNo.substring(10,12)+"-"+certNo.substring(12,14);

//生日日期String birthTimeString = "-03-16"; // 先截取到字符串中的年、月、日String strs[] = birthTimeString.trim().split("-");int selectYear = Integer.parseInt(strs[0]);int selectMonth = Integer.parseInt(strs[1]);int selectDay = Integer.parseInt(strs[2]);// 得到当前时间的年、月、日Calendar cal = Calendar.getInstance();int yearNow = cal.get(Calendar.YEAR);int monthNow = cal.get(Calendar.MONTH) + 1;int dayNow = cal.get(Calendar.DATE);// 用当前年月日减去生日年月日int yearMinus = yearNow - selectYear;int monthMinus = monthNow - selectMonth;int dayMinus = dayNow - selectDay;int age = yearMinus;// 先大致赋值if (yearMinus < 0) {// 选了未来的年份age = 0;} else if (yearMinus == 0) {// 同年的,要么为1,要么为0if (monthMinus < 0) {// 选了未来的月份age = 0;} else if (monthMinus == 0) {// 同月份的if (dayMinus < 0) {// 选了未来的日期age = 0;} else if (dayMinus >= 0) {age = 1;}} else if (monthMinus > 0) {age = 1;}} else if (yearMinus > 0) {if (monthMinus < 0) {// 当前月>生日月} else if (monthMinus == 0) {// 同月份的,再根据日期计算年龄if (dayMinus < 0) {} else if (dayMinus >= 0) {age = age + 1;}} else if (monthMinus > 0) {age = age + 1;}}System.out.println(age );

以下是封装好的一个方法截图

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。