Tin's Blog

          You are coming a long way, baby~Thinking, feeling, memory...

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            128 隨筆 :: 0 文章 :: 221 評論 :: 0 Trackbacks
          根據生日計算年齡可以通過Calendar實現。最簡單可以考慮get(Calendar.DAY_OF_YEAR)來簡單修正年齡,但是遇到生日在閏年的2月29之后,或者今年是閏年的2月29之后可能出現計算不準,誤差一天。所以還是老實判斷年月日好了。
          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) {
                          
          //monthNow==monthBirth
                          if (dayOfMonthNow < dayOfMonthBirth) {
                              age
          --;
                          } 
          else {
                              
          //do nothing
                          }
                      } 
          else {
                          
          //monthNow>monthBirth
                          age--;
                      }
                  } 
          else {
                      
          //monthNow<monthBirth
                      
          //donothing
                  }

                  
          return age;
              }
          posted on 2006-03-10 10:00 Tin 閱讀(2614) 評論(0)  編輯  收藏 所屬分類: Other Project
          主站蜘蛛池模板: 文昌市| 灌云县| 新乡市| 米易县| 洪洞县| 鄂托克前旗| 棋牌| 巨鹿县| 富川| 碌曲县| 台安县| 台北市| 汉源县| 武城县| 兴安盟| 富顺县| 凤台县| 蓝田县| 陆河县| 军事| 通山县| 昭苏县| 遂平县| 卓尼县| 大余县| 镇远县| 峡江县| 乡城县| 禄劝| 怀柔区| 锡林郭勒盟| 苍南县| 永兴县| 巫山县| 廉江市| 丰都县| 商水县| 成武县| 金坛市| 海林市| 城步|