繁体   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