这个问题是不言自明的。我想创建一个新的时间间隔(当时,现在),看看是否有任何星期三下午 3 点(或一周中的任何其他日期/时间组合)包含在该时间间隔内。需要明确的是,我对特定的 DateTime 是否包含在 Interval 中不感兴趣,而只是一个通用的星期几/时间组合。
在 Joda 中是否有一种优雅/干净的方式来做到这一点?
这个问题是不言自明的。我想创建一个新的时间间隔(当时,现在),看看是否有任何星期三下午 3 点(或一周中的任何其他日期/时间组合)包含在该时间间隔内。需要明确的是,我对特定的 DateTime 是否包含在 Interval 中不感兴趣,而只是一个通用的星期几/时间组合。
在 Joda 中是否有一种优雅/干净的方式来做到这一点?
DateTime fromDate = new DateTime(); // begin interval
DateTime toDate = fromDate.plusMinutes(999999); // end inteval
Interval interval = new Interval(fromDate, toDate); // interval
DateTime anchor = fromDate.minusWeeks(1).withDayOfWeek(DateTimeConstants.WEDNESDAY).withMillisOfDay(
0).withHourOfDay(15); // Wednesday 3pm from previous week
while (anchor.isBefore(toDate))
{
if (interval.contains(anchor))
{
return anchor; // if interval contains Wednesday 3pm - > return it
}
else
{
anchor = anchor.plusWeeks(1); // else get next Wednesday 3pm from next week
}
}
return null; // Wednesday 3pm isn't in interval