Tin's Blog

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

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            128 隨筆 :: 0 文章 :: 221 評論 :: 0 Trackbacks
          <2006年3月>
          2627281234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          公告

           
          Tin是一個熱愛收集最佳實踐的程序員。曾經在小型Java團隊中擔任架構師,后在新浪郵件部門領導RIA團隊進行開發,目前是自由程序員,接受Java/ RIA/ RoR項目和咨詢。
          業余時間積極進行敏捷實踐和參與社區討論,對RoR和Django感興趣。在社區中還積極參與開源項目的文檔中文化工作。目前為InfoQ中文站做社區編輯。

          業余愛好:編程、硬件、Mac、美術、音樂(Rock)、電影、攝影、集圖、集郵、Quake3、旅行、美食

          常用鏈接

          留言簿(20)

          隨筆分類(63)

          隨筆檔案(58)

          文章分類

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          根據生日計算年齡可以通過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 閱讀(2615) 評論(0)  編輯  收藏 所屬分類: Other Project
          主站蜘蛛池模板: 海南省| 涿鹿县| 延庆县| 安丘市| 湖口县| 文安县| 达孜县| 虹口区| 东乌珠穆沁旗| 山东省| 绥滨县| 鹤峰县| 富平县| 阳曲县| 鹿邑县| 株洲县| 泸溪县| 江门市| 定陶县| 岳阳县| 林州市| 文登市| 陆河县| 陆川县| 颍上县| 星子县| 安国市| 肃南| 蓝山县| 北票市| 定安县| 丰台区| 筠连县| 丰城市| 陆良县| 山丹县| 东乡族自治县| 华坪县| 伽师县| 鄂托克前旗| 长海县|