十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
下面一段代码给大家分享java根据身份证计算年龄的方法,具体代码如下所示:
创新互联公司-专业网站定制、快速模板网站建设、高性价比浉河网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式浉河网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖浉河地区。费用合理售后完善,10多年实体公司更值得信赖。birthDate = idCard.substring(6,10)+"-"+idCard.substring(10,12)+"-"+idCard.substring(12,14) public static int getAgefromBirthTime(String birthTimeString){ // 先截取到字符串中的年、月、日 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,要么为0 if (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; } } return age; }