Ich versuche, Java 8 neue Datum Muster statt Joda zu verwenden, und ich habe folgendes Problem:Java 8 Local ZonedDateTime kann nicht mit Zeitzone analysieren Datum
Beide
ZonedDateTime.parse("02/05/16 11:51.12.083 +04:30", DateTimeFormatter.ofPattern("dd/MM/yy HH:mm.ss.SSS Z"))
und
LocalDateTime.parse("02/05/16 11:51.12.083 +04:30", DateTimeFormatter.ofPattern("dd/MM/yy HH:mm.ss.SSS Z"))
werfen 'java.time.format.DateTimeParseException' Ausnahme. Während
org.joda.time.DateTime.parse("02/05/16 11:51.12.083 +04:30", DateTimeFormat.forPattern("dd/MM/yy HH:mm.ss.SSS Z"))
funktioniert gut.
Ursache der Ausnahme ist:
java.time.format.DateTimeParseException: Text '02/05/16 11: 51.12.083 +04: 30' nicht am Index 22
geparst werden könnte
Mache ich etwas falsch?
Haben Sie OffsetDateTime versucht? Es enthält nicht genügend Informationen, um eine tatsächliche Zeitzone zu kennen. alles, was es trägt, ist der Offset von UTC. –
Obwohl aus dem Beispiel in der [docs] (https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html) scheint Doppelpunkt als Zone Offset Delimeter aber akzeptiert Wenn Sie es versuchen, löst es die Ausnahme aus. Wenn Sie nur den Doppelpunkt entfernen, sollte es funktionieren. Ihre Datetime-Zeichenkette sollte also '02/05/16 11: 51.12.083 + 0430' sein. –
@Hank DI hat versucht, diese OffsetDateTime.parse ("02/05/16 11: 51.12.083 +04: 30", DateTimeFormatter.ofPattern ("TT/MM/JJ HH: mm.ss.SSS Z")) aber ich bekomme immer noch die selbe Ausnahme. – ampofila