Ich habe eine Methode, um einen Kalender in Java anzuzeigen, der das Datum nach Jahr, Wochentag und Wochennummer berechnet.Unerwartetes Datum Berechnungsergebnis
Jetzt, wenn ich die Daten von 2017 berechnet, funktioniert alles. Aber wenn ich die Termine von Januar 2018 berechnet nimmt es die Daten des Jahres 2017.
Mein Code sieht aus wie
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);
die in 2018.01.02 führt und es sollte 2018.01.01 sein. Wie ist das möglich?
es der dayOfWeek Index beginnt bei 0 –
ON Javadoc des ChronoFIeld sagt vielleicht: Montag, (1) bis Sonntag (7) – JimmyD
@SayanSil a) es nicht, und b) das würde das Ergebnis '2018-01-02' nicht erklären – eis