【发布时间】:2019-07-03 15:53:11
【问题描述】:
在我的项目中,我需要从 goToVisitTime 和 returnTime 中找到员工在办公室外的停留时间。主要关注点是goToVisitTime和returnTime都是日期(java.util)类型[从其他方法获取,不能再改变],styingOutSideTime也必须是日期(java.util)类型。例如:
Date goTOvisitTime = "12:25";
Date returnTime = "14:19";
所以,输出应该是这样的,
styingOutSideTime = "01:54";
因此我的方法如下所示:
public Date getDiffTime(Date goTOvisitTime, Date returnTime) {
//calculate difference
return styingOutSideTime;
}
我花了很多时间来确定解决方案。我也尝试使用 Java 和 Joda Time 中几乎所有的日期和时间。此外,我浏览了以下链接
How to calculate time difference in java?
Java how to calculate time differences
Convert seconds value to hours minutes seconds?
How to get hour/minute difference in java
然而,几乎所有的解决方案都是要么参数要么返回值是一个字符串。此外,仅返回小时或分钟。
【问题讨论】:
-
两个日期之间的差异怎么会是一个日期呢?因此,您的方法
getDiffTime不应返回 Date。 -
是的,这是我如何返回值“hh:mm”格式的问题,它将被视为日期类型,而我们可以将日期格式化为“hh:mm”格式。 --@AmitBera
-
只返回
hh:mm格式的字符串 -
我建议你不要使用
Date。该课程设计不良且早已过时。而是使用来自java.time, the modern Java date and time API 的LocalTime和Duration。