国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Java > 正文

JAVA 根據(jù)身份證計算年齡的實現(xiàn)代碼

2024-07-14 08:40:45
字體:
供稿:網(wǎng)友

下面一段代碼給大家分享java/203977.html">java根據(jù)身份證計算年齡的方法,具體代碼如下所示:

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]); // 得到當(dāng)前時間的年、月、日 Calendar cal = Calendar.getInstance(); int yearNow = cal.get(Calendar.YEAR); int monthNow = cal.get(Calendar.MONTH) + 1; int dayNow = cal.get(Calendar.DATE); // 用當(dāng)前年月日減去生日年月日 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) {// 當(dāng)前月>生日月  } else if (monthMinus == 0) {// 同月份的,再根據(jù)日期計算年齡   if (dayMinus < 0) {   } else if (dayMinus >= 0) {    age = age + 1;   }  } else if (monthMinus > 0) {   age = age + 1;  } } return age;}

下面在看下java根據(jù)出生日期獲得年齡

public static int getAge(Date birthDay) throws Exception {   Calendar cal = Calendar.getInstance();   if (cal.before(birthDay)) {    throw new IllegalArgumentException(     "The birthDay is before Now.It's unbelievable!");   }   int yearNow = cal.get(Calendar.YEAR);   int monthNow = cal.get(Calendar.MONTH);   int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);   cal.setTime(birthDay);   int yearBirth = cal.get(Calendar.YEAR);   int monthBirth = cal.get(Calendar.MONTH);   int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);   int age = yearNow - yearBirth;   if (monthNow <= monthBirth) {    if (monthNow == monthBirth) {     if (dayOfMonthNow < dayOfMonthBirth) age--;    }else{     age--;    }   }   System.out.println("age:"+age);   return age;  }

總結(jié)

以上所述是小編給大家介紹的JAVA 根據(jù)身份證計算年齡,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對VeVb武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識閱讀請移步到JAVA教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 叶城县| 江源县| 鄂尔多斯市| 新余市| 岳池县| 那坡县| 上饶市| 高雄县| 霍山县| 工布江达县| 巩留县| 新晃| 闻喜县| 德惠市| 永胜县| 轮台县| 都匀市| 绵竹市| 高陵县| 青阳县| 保定市| 松潘县| 清徐县| 翁牛特旗| 治多县| 花莲市| 平谷区| 辽源市| 盐池县| 乾安县| 隆德县| 揭阳市| 峨眉山市| 大足县| 永川市| 临邑县| 城口县| 岗巴县| 鸡东县| 德州市| 勃利县|