我java.util.Date在 Scala 中使用 Java 的类,想比较一个Date对象和当前时间。我知道我可以使用 getTime() 计算增量:
java.util.Date
Date
(new java.util.Date()).getTime() - oldDate.getTime()
但是,这只给我留下了long代表毫秒的时间。有没有更简单、更好的方法来获得时间增量?
long
不幸的是,JDK DateAPI 被严重破坏了。我推荐使用Joda Time library。
Joda Time 有一个时间间隔的概念:
Interval interval = new Interval(oldTime, new Instant());
编辑:顺便说一句,Joda 有两个概念:Interval表示两个时间点之间的时间间隔(表示上午 8 点到上午 10 点之间的时间),以及Duration表示没有实际时间界限的时间长度(例如表示两个小时!)
Interval
Duration
如果您只关心时间比较,大多数Date实现(包括 JDK 实现)都实现Comparable了允许您使用Comparable.compareTo()
Comparable
Comparable.compareTo()