Ich kann nicht herausfinden, warum Joda Zeit aktualisiert die Zeit und Offset Stunden nach Sommerzeit, aber Java-Zeit nicht.Warum aktualisiert joda Zeit die Zeit und Offset, wenn Java-Zeit nicht?
DateTime dateTime = new DateTime("2016-04-05T10:06:21.636-05:00").withDayOfWeek(5);
TemporalField dayOfWeek = WeekFields.ISO.dayOfWeek();
OffsetDateTime offsetDateTime = OffsetDateTime.parse("2016-04-05T10:06:21.636-05:00").with(dayOfWeek, 5);
ZonedDateTime zonedDateTime = ZonedDateTime.parse("2016-04-05T10:06:21.636-05:00").with(dayOfWeek, 5);
System.out.println("dateTime: " + dateTime); // 2016-04-08T11:06:21.636-04:00
System.out.println("offsetDateTime: " + offsetDateTime); // 2016-04-08T10:06:21.636-05:00
System.out.println("zonedDateTime: " + zonedDateTime); // 2016-04-08T10:06:21.636-05:00
Vielleicht, weil die java8 jsr310-Implementierung ist in der Nähe von Yoda Zeit, aber nicht genau das gleiche? Es gibt feine Unterschiede zwischen den beiden ... wahrscheinlich wäre das einer von ihnen. – GhostCat
Ich schätze: Sie haben keine Zeitzone angegeben, nur einen Offset zu beiden, die Offsetdatumszeit und die zonierten Datumszeitinstanzen. In beiden Fällen haben sie keine Ahnung von Sommerzeit. Wahrscheinlich müssen Sie beim Erstellen des zonenbasierten Datumszeitobjekts eine Zeitzone angeben, und es funktioniert möglicherweise wie erwartet. – Seelenvirtuose
@Seelenvirtuose Danke. Das war das Problem. – Jon