Mam metodę wyświetlania kalendarza w języku Java, która oblicza datę po roku, dzień tygodnia i numer tygodnia.Nieoczekiwany wynik obliczania daty
Teraz, gdy obliczam daty z 2017 roku, wszystko działa. Ale kiedy oblicza daty od stycznia 2018 zajmuje daty roku 2017
Mój kod wygląda
import java.time.temporal.IsoFields;
import java.time.temporal.ChronoField;
import java.time.LocalDate;
// .....
LocalDate desiredDate = LocalDate.now()
.with(IsoFields.WEEK_OF_WEEK_BASED_YEAR, 1)
.with(ChronoField.DAY_OF_WEEK, 1)
.withYear(2018);
co skutkuje 2018-01-02 i 2018-01-01 powinno być. Jak to jest możliwe?
Może indeks dayOfWeek zaczyna się od 0 –
NA Javadoc z ChronoFIeld ona mówi: Poniedziałek (1) do niedzieli (7) – JimmyD
@SayanSil a) nie ma, i b) nie wyjaśnia wyniku "2018-01-02' – eis