簡體   English   中英

如何計算兩次之間的分鍾差

[英]How to calculate minutes difference between two times

如何僅計算兩次分鍾之間的差異,假設我們有兩次(java 中的 LocalTime)。

  • onDutyTime = 08:00
  • 下班時間 = 14:30

為了得到小時的差異,我使用onDutyTime.until(offDutyTime, ChronoUnit.HOURS)這給了我 6 小時的正確結果。 但是如何在這兩次分鍾之間獲得分鍾差(30)。或者還有其他方法可以讓我獲得 6:30 的比賽時差。

我建議使用Duration

LocalTime onDutyTime = LocalTime.of(8, 0);
LocalTime offDutyTime = LocalTime.of(14, 30);

Duration d = Duration.between(onDutyTime, offDutyTime);
System.out.println(d);
System.out.println(d.toMinutes());
System.out.println(d.toHours());
System.out.println(d.toMinutesPart());

這輸出

PT6H30M
390
6
30

編輯:請參閱此答案以獲得更好的方法。


我會用:

long amount = ChronoUnit.MINUTES.between(start, end);

這將返回兩個LocalTime實例之間的分鍾數。

您還可以使用:

long amount = onDutyTime.until(offDutyTime, ChronoUnit.MINUTES);

然后,只需除以60即可得到小時數:

long hours = amount / 60;

並獲取余數以獲得會議記錄:

long minutes = amount % 60;

您可以使用以下操作:

LocalTime timeDiff = t2.minusNanos(t1.toNanoOfDay());

結果將包含您想要的所有時間單位,無需除以時間量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM