我有一個時鐘存儲在我的程序中的時鐘輸出格式爲HH/MM/SS作爲字符串。我如何計算兩者之間的小時數,分鐘數和秒數之差?如果有必要,我可以將兩者轉換回日期,但不能爲我的生活弄清楚如何計算差異!用java中的HH/MM/SS格式計算兩個日期和時間之間的時間差?
例如
clockIn =十二時10分45秒 時鐘輸出=十四時10分50秒
timeDiff測量應該是2點00分15秒。
在此先感謝。
我有一個時鐘存儲在我的程序中的時鐘輸出格式爲HH/MM/SS作爲字符串。我如何計算兩者之間的小時數,分鐘數和秒數之差?如果有必要,我可以將兩者轉換回日期,但不能爲我的生活弄清楚如何計算差異!用java中的HH/MM/SS格式計算兩個日期和時間之間的時間差?
例如
clockIn =十二時10分45秒 時鐘輸出=十四時10分50秒
timeDiff測量應該是2點00分15秒。
在此先感謝。
一旦你有兩個日期,可以將所有的getTime()獲得以毫秒爲單位的時間:
long date1Ms = clockIn.getTime();
long date2Ms = clockOut.getTime();
long difference = date1Ms - date2Ms;
一旦你在女士的差異,轉換到時/分/秒很簡單:
int hoursDiff = (int) (difference/(60 * 60 * 1000));
int hoursMs = hoursDiff * 60 * 60 * 1000;
int minsDiff = (int) ((difference - hoursMs)/(60 * 1000));
int minsMs = hoursMs + minsDiff * 60 * 1000;
int secDiff = (int) ((difference - minsMs)/1000);
在這裏,hoursDiff,minsDiff和secDiff爲您提供了所需的細分。
你可以做這樣的事情,實現的時間差
SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss");
Date d1 = sdf.parse("12:10:45");
Date d2 = sdf.parse("14:10:50");
long diff = Math.abs(d1.getTime() - d2.getTime());
long diffSeconds = diff/1000 % 60;
long diffMinutes = diff/(60 * 1000) % 60;
long diffHours = diff/(60 * 60 * 1000) % 24;
System.out.println(diffHours+":"+diffMinutes+":"+diffSeconds);
希望這有助於。
也 - 不能使用約達時間 – user1853497
http://www.mkyong.com/java/how-to-calculate-date-time-difference-in-java/ – Vitaly