Как получить диапазон даты / времени для «этой недели», используя библиотеку даты / времени Joda на Java? - PullRequest
4 голосов
/ 29 июня 2011

Предполагая, что вы можете рассчитать диапазон даты / времени для "сегодня" , следуя совету Джона Скита :

LocalDate today = now.toLocalDate();
LocalDate tomorrow = today.plusDays(1);

DateTime startOfToday = today.toDateTimeAtStartOfDay(now.getZone());
DateTime startOfTomorrow = tomorrow.toDateTimeAtStartOfDay(now.getZone());

Then check if startOfToday <= time < startOfTomorrow for any particular time.

Как бы вы сделали нечто подобное для "на этой неделе".

Итак, если «сегодня» - 20:38 29/06/2011, то «эта неделя» будет

20:38 22/06/2011 - 20:38 29/06/2011

1 Ответ

4 голосов
/ 29 июня 2011
DateTime startOfWeek = dateTime.minusDays(dateTime.dayOfWeek().get() - 1);
DateTime endOfWeek = dateTime.plusDays(7 - dateTime.dayOfWeek().get());

(Примечание: дни недели основаны на 1)

...