Pergunta

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.

Foi útil?

Solução 2

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;
}

Outras dicas

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);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top