Используя Joda, как определить, что заданный дата находится между временем x и временем на 3 часа раньше, чем x?

Каков самый простой способ использовать время Joda и получить что-то вроде следующего поведения:

public boolean check( DateTime checkTime )
{
    DateTime someTime = new DateTime(); //set to "now" for sake of example
    return checkTime.isBefore( someTime ) && checkTime.notMoreThanThreeHoursBefore( someTime );
}

Итак, если someTime установлен на 15:00 и checkTime установлен на 12:15, он должен вернуть истину.

Если someTime установлен на 15:00, а checkTime установлен на 11:45 он должен вернуть false, потому что checkTime более чем на 3 часа раньше someTime .

Если someTime установлен на 15:00, а checkTime ] установлен на 15:15, он должен вернуть false, потому что checkTime находится после someTime .

23
задан Alex B 12 January 2011 в 22:44
поделиться