Я хотел бы иметь возможность перебирать каждую неделю в определенном году (скажем, 2015). Я понимаю, что вы можете подсчитать количество недель между 01.01.2015 и 31.12.2015, но это не соответствует стандарту недели ISO. Скорее, он дает количество 7-дневных периодов между двумя датами. Первая неделя года по стандарту ISO не обязательно начинается 1 января 2015 года.
Если я смогу получить первую дату первой недели, я полагаю, что смогу просто выполнить итерацию с помощью ZonedDateTime.plusWeeks(1) в течение 52 недель. Вы можете получить номер недели произвольной даты с помощью метода доступа к полю:
Код: Выделить всё
ZonedDateTime date = ZonedDateTime.now();
WeekFields weekFields = WeekFields.of(Locale.getDefault());
int weekNumber = date.get(weekFields.weekOfWeekBasedYear());
Подробнее здесь: https://stackoverflow.com/questions/361 ... -in-java-8
Мобильная версия