<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      java 判斷兩個時間相差的天數(shù)

      1、實(shí)現(xiàn)目標(biāo)

        輸入:兩個日期

        輸出:兩個日期相差的天數(shù)

      2、代碼實(shí)現(xiàn)

      方法1:

        通過Calendar類的日期比較。注意:這里需要考慮一下:

      •   日期是跨年份的,如一個是2012年,一個是2015年的
      •     年份是分閏年和平年的,各自的天數(shù)不同
      /**
           * date2比date1多的天數(shù)
           * @param date1    
           * @param date2
           * @return    
           */
          public static int differentDays(Date date1,Date date2)
          {
              Calendar cal1 = Calendar.getInstance();
              cal1.setTime(date1);
              
              Calendar cal2 = Calendar.getInstance();
              cal2.setTime(date2);
             int day1= cal1.get(Calendar.DAY_OF_YEAR);
              int day2 = cal2.get(Calendar.DAY_OF_YEAR);
              
              int year1 = cal1.get(Calendar.YEAR);
              int year2 = cal2.get(Calendar.YEAR);
              if(year1 != year2)   //同一年
              {
                  int timeDistance = 0 ;
                  for(int i = year1 ; i < year2 ; i ++)
                  {
                      if(i%4==0 && i%100!=0 || i%400==0)    //閏年            
                      {
                          timeDistance += 366;
                      }
                      else    //不是閏年
                      {
                          timeDistance += 365;
                      }
                  }
                  
                  return timeDistance + (day2-day1) ;
              }
              else    //不同年
              {
                  System.out.println("判斷day2 - day1 : " + (day2-day1));
                  return day2-day1;
              }
          }

      方法2:

        直接通過計算兩個日期的毫秒數(shù),他們的差除以一天的毫秒數(shù),即可得到我們想要的兩個日期相差的天數(shù)。

        /**
           * 通過時間秒毫秒數(shù)判斷兩個時間的間隔
           * @param date1
           * @param date2
           * @return
           */
          public static int differentDaysByMillisecond(Date date1,Date date2)
          {
              int days = (int) ((date2.getTime() - date1.getTime()) / (1000*3600*24));
              return days;
          }

      測試:

      public static void main(String[] args) 
          {
              String dateStr = "2008-1-1 1:21:28";
              String dateStr2 = "2010-1-2 1:21:28";
              SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
              SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
              try 
              {
                  Date date2 = format.parse(dateStr2);
                  Date date = format.parse(dateStr);
                  
                  System.out.println("兩個日期的差距:" + differentDays(date,date2));
                  System.out.println("兩個日期的差距:" + differentDaysByMillisecond(date,date2));
              } catch (ParseException e) {
                  e.printStackTrace();
              }
          }

      結(jié)果:

      兩個日期的差距:732
      兩個日期的差距:732

      兩種實(shí)現(xiàn)方式的比較:

        方式一的話,只是通過日期來進(jìn)行比較兩個日期的相差天數(shù)的比較,沒有精確到相差到一天的時間。如果是只是純粹通過日期(年月日)來比較比較的話就是方式一。

        對于方式二,是通過計算兩個日期相差的毫秒數(shù)來計算兩個日期的天數(shù)差的。一樣會有一個小問題,就是當(dāng)他們相差是23個小時的時候,它就不算一天了。如下面的兩個日期

      2015-1-1 21:21:28
      2015-1-2 1:21:28

      測試代碼:

      public static void main(String[] args) 
          {
              String dateStr = "2015-1-1 21:21:28";
              String dateStr2 = "2015-1-2 1:21:28";
              SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
              SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
              try 
              {
                  Date date2 = format.parse(dateStr2);
                  Date date = format.parse(dateStr);
                  
                  System.out.println("兩個日期的差距:" + differentDays(date,date2));
                  System.out.println("兩個日期的差距:" + differentDaysByMillisecond(date,date2));
              } catch (ParseException e) {
                  e.printStackTrace();
              }
          }

      結(jié)果:

      兩個日期的差距:1
      兩個日期的差距:0

        兩種方式的不同了,在具體時間相差不到24小時時,方式2的方式不算一天,而方式1是通過日期(年月日)來判斷的,所以算相差一天。

       

        源碼下載:https://github.com/zcr1007391008/timeDifferent

        致謝:感謝您的閱讀!

      posted on 2015-11-27 16:09  WhyWin  閱讀(254345)  評論(27)    收藏  舉報

      導(dǎo)航

      主站蜘蛛池模板: 免费AV片在线观看网址| 国产精品亚洲一区二区三区| 久久夜色撩人国产综合av| 国语自产少妇精品视频蜜桃| 欧美乱码伦视频免费| 国产精品区一二三四久久| 亚洲一区二区精品极品| 国产精品爽黄69天堂a| 国产亚洲精品久久久久久无亚洲| 国产精品激情av在线播放| 99久久久无码国产精品动漫| 麻豆一区二区中文字幕| 搡老熟女老女人一区二区| 香港日本三级亚洲三级| 最新亚洲人成网站在线观看| 狠狠综合久久综合88亚洲爱文| 日本久久99成人网站| 免费看国产精品3a黄的视频| 日韩精品 在线 国产 丝袜| 国产精品熟女乱色一区二区 | 潘金莲高清dvd碟片| 国产美女69视频免费观看| 色偷偷亚洲女人天堂观看| 亚洲国产精品久久久久4婷婷 | 亚洲精品一区二区二三区| 欧美大胆老熟妇乱子伦视频| 大地资源网第二页免费观看| 69精品丰满人妻无码视频a片| 国产无遮挡又黄又大又爽| 欧美大片va欧美在线播放| 中文字幕人妻日韩精品| 精品日本免费一区二区三区| 精品中文字幕一区在线| 国产精品无码无需播放器| 国产精品爽爽久久久久久竹菊| 久久婷婷丁香五月综合五| 中文字幕在线精品国产| 在线观看无码av五月花| 91精品蜜臀国产综合久久| 日韩丝袜欧美人妻制服| 极品尤物一区二区三区 |