[英]How to calculate minutes difference between two times
如何仅计算两次分钟之间的差异,假设我们有两次(java 中的 LocalTime)。
为了得到小时的差异,我使用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.