计算两个Java日期实例之间的差异
问题内容:
我java.util.Date
在Scala中使用Java的类,想比较一个Date对象和当前时间。我知道我可以使用getTime()计算增量:
(new java.util.Date()).getTime() - oldDate.getTime()
但是,这仅long代表我几毫秒。有没有更简单,更好的方法来获取时间增量?
问题答案:
Date
不幸的是,JDK API严重损坏。我建议使用Joda时间库。
Joda Time具有时间间隔的概念:
Interval interval = new Interval(oldTime, new Instant());
编辑:顺便说一句,乔达有两个概念:Interval
用于表示两个时刻之间的时间间隔(表示上午8点至上午10点之间的时间),以及Duration
表示没有实际时间界限的时间长度(例如表示两个小时!)
如果您只关心时间比较,则大多数Date实现(包括JDK)都会实现Comparable
接口,该接口可让您使用Comparable.compareTo()