Java計算年月日時分秒時間差(兩個時間相減)


 

//測試主方法  public static void main(String[] args) {          Date currentTime = df.parse("2004-03-26 13:31:40");   //當前系統時間             Date firstTime = df.parse("2004-01-02 11:30:24");     //查詢的數據時間          String str=getTime(currentTime ,firstTime );          System.out.println("獲取的年月日時分秒時間差為:"+str);   }   //獲取時間差方法       public static String getTime(Date currentTime,Date firstTime){           long diff = currentTime.getTime() - firstTime.getTime();//這樣得到的差值是微秒級別           Calendar  currentTimes =dataToCalendar(currentTime);//當前系統時間轉Calendar類型           Calendar  firstTimes =dataToCalendar(firstTime);//查詢的數據時間轉Calendar類型           int year = currentTimes.get(Calendar.YEAR) - firstTimes.get(Calendar.YEAR);//獲取年           int month = currentTimes.get(Calendar.MONTH) - firstTimes.get(Calendar.MONTH);           int day = currentTimes.get(Calendar.DAY_OF_MONTH) - firstTimes.get(Calendar.DAY_OF_MONTH);            if (day < 0) {              month -= 1;              currentTimes.add(Calendar.MONTH, -1);              day = day + currentTimes.getActualMaximum(Calendar.DAY_OF_MONTH);//獲取日           }           if (month < 0) {              month = (month + 12) % 12;//獲取月              year--;           }                 long days = diff / (1000 * 60 * 60 * 24);                      long hours = (diff-days*(1000 * 60 * 60 * 24))/(1000* 60 * 60); //獲取時            long minutes = (diff-days*(1000 * 60 * 60 * 24)-hours*(1000* 60 * 60))/(1000* 60);  //獲取分鍾           long s=(diff/1000-days*24*60*60-hours*60*60-minutes*60);//獲取秒           String CountTime=""+"year"+"年"+month+"月"+day+"天"+hours+"小時"+minutes+"分"+s+"秒";           return CountTime;     }       //Date類型轉Calendar類型     public static Calendar dataToCalendar(Date date) {           Calendar calendar = Calendar.getInstance();           calendar.setTime(date);           return calendar;     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM