Java 8 の java.time パッケージは入力の解析に苦労していますDateTimeFormatter クラスを使用する場合、秒の小数部分を含む文字列。書式パターン「yyyyMMddHHmmssSS」を使用して「2011120312345655」のような文字列を解析しようとすると、ドキュメントでは「SS」が秒の小数部分の値を表す必要があることが示されているにもかかわらず、DateTimeParseException が発生します。
Java 9 より前では、次の回避策が提案されていました。
<code class="java">DateTimeFormatter dtf = new DateTimeFormatterBuilder() .appendPattern("yyyyMMddHHmmss") .appendValue(ChronoField.MILLI_OF_SECOND, 3) .toFormatter();</code>
ただし、この回避策は、次のようなユースケースを処理できないため、問題に完全には対処していません。パターン記号は「SS」の 2 つだけです。他のフィールドまたは外部ライブラリを使用する代替ソリューションも提案されました。
この問題に関連する JDK の問題は、解決済みとしてマークされています。 Java 9。これは、秒の小数部分の値を解析する java.time パッケージの機能がこのバージョンで改善されたことを示します。
以上が「java.time」は日付文字列の秒の小数部分の値を解析できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。