ZT文萃

          本博不原創,轉帖自己感興趣那些事人物,什么入眼貼什么,隨心所欲。
          posts - 93, comments - 5, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          java中計算兩個時間差

          Posted on 2014-02-14 09:49 ZT文萃 閱讀(229) 評論(0)  編輯  收藏 所屬分類: 中間件
          http://china.gmail.cn/html/38/63638-41467.html


          javaz中對日期時間的處理比較多,代碼中列出了3中日期時間計算差值的方法。

          比如:現在是2004-03-26 13:31:40
          過去是:2004-01-02 11:30:24
          我現在要獲得兩個日期差,差的形式為:XX天XX小時XX分XX秒

           

          java計算時間差及比較時間大小
          比如:現在是2004-03-26 13:31:40
          過去是:2004-01-02 11:30:24
          我現在要獲得兩個日期差,差的形式為:XX天XX小時XX分XX秒

          方法一:
          DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

          try
          {
          Date d1 = df.parse("2004-03-26 13:31:40");
          Date d2 = df.parse("2004-01-02 11:30:24");
          long diff = d1.getTime() - d2.getTime();
          long days = diff / (1000 * 60 * 60 * 24);
          }
          catch (Exception e)
          {
          }

          方法二: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          java.util.Date now = df.parse("2004-03-26 13:31:40");
          java.util.Date date=df.parse("2004-01-02 11:30:24");
          long l=now.getTime()-date.getTime();
          long day=l/(24*60*60*1000);
          long hour=(l/(60*60*1000)-day*24);
          long min=((l/(60*1000))-day*24*60-hour*60);
          long s=(l/1000-day*24*60*60-hour*60*60-min*60);
          System.out.println(""+day+"天"+hour+"小時"+min+"分"+s+"秒");

          方法三:
          SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          java.util.Date begin=dfs.parse("2004-01-02 11:30:24");
          java.util.Date end = dfs.parse("2004-03-26 13:31:40");
          long between=(end.getTime()-begin.getTime())/1000;//除以1000是為了轉換成秒

          long day1=between/(24*3600);
          long hour1=between%(24*3600)/3600;
          long minute1=between%3600/60;
          long second1=between%60/60;
          System.out.println(""+day1+"天"+hour1+"小時"+minute1+"分"+second1+"秒");


          ====================================================

          java 比較時間大小

          String s1="2008-01-25 09:12:09";
          String s2="2008-01-29 09:12:11";
          java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          java.util.Calendar c1=java.util.Calendar.getInstance();
          java.util.Calendar c2=java.util.Calendar.getInstance();
          try
          {
          c1.setTime(df.parse(s1));
          c2.setTime(df.parse(s2));
          }catch(java.text.ParseException e){
          System.err.println("格式不正確");
          }
          int result=c1.compareTo(c2);
          if(result==0)
          System.out.println("c1相等c2");
          else if(result<0)
          System.out.println("c1小于c2");
          else
          System.out.println("c1大于c2");
          主站蜘蛛池模板: 会东县| 新乐市| 滨海县| 宁陕县| 镇康县| 达拉特旗| 盐池县| 杭锦旗| 平昌县| 靖边县| 渭南市| 南宫市| 宁夏| 安平县| 黑山县| 安徽省| 应城市| 永修县| 汾阳市| 凯里市| 石门县| 定襄县| 和田县| 驻马店市| 将乐县| 山东| 高唐县| 沧州市| 蓝山县| 屏东市| 龙岩市| 田林县| 石嘴山市| 高密市| 道孚县| 宣威市| 板桥市| 石河子市| 晋州市| 乌兰察布市| 威远县|