Я использую библиотеку времени Java 8, чтобы определить предыдущие недели и год от сегодняшней даты, а затем сохранить эти значения на карте. Я думаю, что я понял, как правильно получить недели, но я не совсем уверен, как правильно получить год. Текущий код ниже:
int weeksLimit = 5; // this value is passed into the method, but just setting it here as an example
Map<Integer, Integer> yearWeeks = new HashMap<Integer, Integer>();
LocalDate ld = LocalDate.now();
WeekFields weekFields = WeekFields.of(DayOfWeek.SUNDAY, 4);
for (int i = weeksLimit; i > 0; i--) {
LocalDate pastDate = ld.minusWeeks(i);
yearWeeks.put(pastDate.getYear(), pastDate.get(weekFields.weekOfWeekBasedYear()));
}
Я не верю, pastDate.getYear()
- правильное использование. В результате я хочу получить что-то вроде:
- 1/12/2020 - 1/18/2020 = неделя 3, год 2020
- 1/05/2020 - 1/11/2020 = неделя 2, год 2020
- 12/29/2019 - 1/04/2020 = неделя 1, год 2020
- 12/22/2019 - 12/28 / 2019 = неделя 52, год 2019
Может кто-нибудь помочь мне понять, как правильно получить желаемый год?