我有两个JodaTime对象,我想要一个像这样的方法
// Return the latest of the two DateTimes
DateTime latest(DateTime a, DateTime b)
但是我找不到这样的事情。我可以轻松地写出来,但我确信JodaTime会把它放在某个地方。
答案 0 :(得分:15)
正如杰克指出的那样,DateTime
实现了Comparable
。如果您使用的是番石榴,最多可以通过以下简写确定两个日期(让我们说a
和b
):
Ordering.natural().max(a, b);
答案 1 :(得分:14)
DateTime
实现了Comparable
,因此除了执行操作之外,您不需要自己动手:
DateTime latest(DateTime a, DateTime b)
{
return a.compareTo(b) > 0 ? a : b;
}
或直接使用JodaTime API(考虑Chronology
而不是compareTo
):
DateTime latest(DateTime a, DateTime b)
{
return a.isAfter(b) ? a : b;
}