Math.max(...) for JodaTime

2022-09-03 00:06:05

我有两个JodaTime对象,我想要一个这样的方法

// Return the latest of the two DateTimes
DateTime latest(DateTime a, DateTime b)

但我找不到这样的东西。我可以很容易地写它,但我相信JodaTime会在某个地方拥有它。


答案 1

正如杰克所指出的,实现.如果您使用的是番石榴,则最多两个日期(假设和)可以通过以下速记来确定:DateTimeComparableab

Ordering.natural().max(a, b);

答案 2

DateTime实现,所以你不需要滚动你自己的,除了做:Comparable

DateTime latest(DateTime a, DateTime b)
{
  return a.compareTo(b) > 0 ? a : b;
}

或者直接使用JodaTime API(考虑到不同):ChronologycompareTo

DateTime latest(DateTime a, DateTime b)
{
  return a.isAfter(b) ? a : b;
}

推荐