首頁  >  文章  >  Java  >  `java.time` 可以解析日期字串中的秒分數值嗎?

`java.time` 可以解析日期字串中的秒分數值嗎?

Susan Sarandon
Susan Sarandon原創
2024-10-28 22:26:02476瀏覽

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

java.time 無法解析秒分數嗎?

Java 8 的 java.time 套件難以解析輸入使用 DateTimeFormatter 類別時帶有秒分數部分的字串。嘗試使用格式模式「yyyyMMddHHmmssSS」解析類似「2011120312345655」的字串會導致 DateTimeParseException,儘管文件顯示「SS」應表示秒值的小數部分。

之前的解決方法Java 9

在Java 9 之前,提出了一種解決方法:

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

但是,此解決方法並不能完全解決這個問題,因為它無法處理以下用例只有兩個圖案符號「SS」。也建議使用其他欄位或外部庫的替代解決方案。

Java 9 中的解決方案

與此問題相關的 JDK 問題已標記為已解決Java 9。這表明 java.time 套件解析秒小數值的能力在此版本中得到了改進。

以上是`java.time` 可以解析日期字串中的秒分數值嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn