一尘不染

如何使用java计算两个日期之间的差异

java

java.util.Date在Scala中使用Java的类,想比较一个Date对象和当前时间。我知道我可以使用getTime()计算增量:

(new java.util.Date()).getTime() - oldDate.getTime()

但是,这仅long代表我几毫秒。有没有更简单,更好的方法来获取时间增量?


阅读 266

收藏
2020-09-08

共1个答案

一尘不染

Date不幸的是,JDK API严重损坏。我建议使用Joda时间库

Joda Time具有时间间隔的概念:

Interval interval = new Interval(oldTime, new Instant());

编辑:顺便说一句,乔达有两个概念:Interval用于表示两个时刻之间的时间间隔(表示上午8点至上午10点之间的时间),以及Duration表示没有实际时间界限的时间长度(例如表示两个小时!)

如果您只关心时间比较,则大多数Date实现(包括JDK)都会实现Comparable接口,该接口可让您使用Comparable.compareTo()

2020-09-08