在Java 中計算日期/時間差異
在Java 中,經常需要計算兩個日期或時間之間的差異以確定經過的時間持續時間。這可以使用各種技術來實現,但常見的方法涉及操縱毫秒。
執行日期/時間差計算的一種方法是透過 Date 類別。 Date 類別表示特定的時刻,它提供了將日期與紀元以來的毫秒數相互轉換的方法。要計算兩個日期之間的差異,您只需從較晚日期的毫秒數中減去較早日期代表的毫秒數即可。
例如,讓我們考慮以下程式碼:
String dateStart = "11/03/14 09:29:58"; String dateStop = "11/03/14 09:33:43"; SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd HH:mm:ss"); Date d1 = null; Date d2 = null; try { d1 = format.parse(dateStart); d2 = format.parse(dateStop); } catch (ParseException e) { e.printStackTrace(); } // Get msec from each, and subtract. long diff = d2.getTime() - d1.getTime(); long diffSeconds = diff / 1000; long diffMinutes = diff / (60 * 1000); long diffHours = diff / (60 * 60 * 1000); System.out.println("Time in seconds: " + diffSeconds + " seconds."); System.out.println("Time in minutes: " + diffMinutes + " minutes."); System.out.println("Time in hours: " + diffHours + " hours.");
此程式碼示範如何計算兩個日期之間的小時、分鐘和秒差。但是,給定的程式碼有一個問題:diffSeconds 變數計算不正確。計算秒數的正確方法是透過毫秒,如下所示:
long diffSeconds = TimeUnit.MILLISECONDS.toSeconds(diff);
此修改可確保計算並顯示以秒為單位的正確時間差。
以上是如何在Java中有效率地計算日期和時間差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!