ホームページ  >  記事  >  Java  >  「java.time」は日付文字列の秒の小数部分の値を解析できますか?

「java.time」は日付文字列の秒の小数部分の値を解析できますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-28 22:26:02473ブラウズ

 Can `java.time` Parse Fraction-of-Second Values in Date Strings?

java.time は秒の小数部の解析に失敗していますか?

Java 8 の java.time パッケージは入力の解析に苦労していますDateTimeFormatter クラスを使用する場合、秒の小数部分を含む文字列。書式パターン「yyyyMMddHHmmssSS」を使用して「2011120312345655」のような文字列を解析しようとすると、ドキュメントでは「SS」が秒の小数部分の値を表す必要があることが示されているにもかかわらず、DateTimeParseException が発生します。

Java 9

Java 9 より前では、次の回避策が提案されていました。

<code class="java">DateTimeFormatter dtf = 
  new DateTimeFormatterBuilder()
  .appendPattern("yyyyMMddHHmmss")
  .appendValue(ChronoField.MILLI_OF_SECOND, 3)
  .toFormatter();</code>

ただし、この回避策は、次のようなユースケースを処理できないため、問題に完全には対処していません。パターン記号は「SS」の 2 つだけです。他のフィールドまたは外部ライブラリを使用する代替ソリューションも提案されました。

Java 9 での解決策

この問題に関連する JDK の問題は、解決済みとしてマークされています。 Java 9。これは、秒の小数部分の値を解析する java.time パッケージの機能がこのバージョンで改善されたことを示します。

以上が「java.time」は日付文字列の秒の小数部分の値を解析できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。