Das java.time-Paket von Java 8 hat Schwierigkeiten, Eingaben zu analysieren Zeichenfolgen mit einer Sekundenbruchteilkomponente bei Verwendung der DateTimeFormatter-Klasse. Versuche, eine Zeichenfolge wie „2011120312345655“ mit dem Formatmuster „yyyyMMddHHmmssSS“ zu analysieren, führen zu einer DateTimeParseException, obwohl in der Dokumentation angegeben ist, dass „SS“ Sekundenbruchteile darstellen sollte.
Vor Java 9 wurde eine Problemumgehung vorgeschlagen:
<code class="java">DateTimeFormatter dtf = new DateTimeFormatterBuilder() .appendPattern("yyyyMMddHHmmss") .appendValue(ChronoField.MILLI_OF_SECOND, 3) .toFormatter();</code>
Diese Problemumgehung behebt das Problem jedoch nicht vollständig, da sie den Anwendungsfall von nicht bewältigen kann nur zwei Mustersymbole, „SS“. Alternativlösungen unter Verwendung anderer Felder oder externer Bibliotheken wurden ebenfalls vorgeschlagen.
Das mit diesem Problem verbundene JDK-Problem wurde als gelöst markiert Java 9. Dies weist darauf hin, dass die Fähigkeit des java.time-Pakets, Sekundenbruchteile zu analysieren, in dieser Version verbessert wurde.
Das obige ist der detaillierte Inhalt vonKann „java.time' Sekundenbruchteile in Datumszeichenfolgen analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!