简体   繁体   中英

Math.max(…) for JodaTime

I have two JodaTime objects and I wanted a method like so

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

But I can't find such a thing. I could easily write it, but I'm sure JodaTime would have it somewhere.

As Jack pointed out, DateTime implements Comparable . If you are using Guava, the maximum of two dates (let's say a and b ) can be determined by the following shorthand:

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

DateTime implements Comparable so you don't need to roll you own other than doing:

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

or by using JodaTime API directly (which takes into account Chronology unlike compareTo ):

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM