Java 8 的 java.time 套件難以解析輸入使用 DateTimeFormatter 類別時帶有秒分數部分的字串。嘗試使用格式模式「yyyyMMddHHmmssSS」解析類似「2011120312345655」的字串會導致 DateTimeParseException,儘管文件顯示「SS」應表示秒值的小數部分。
在Java 9 之前,提出了一種解決方法:
<code class="java">DateTimeFormatter dtf = new DateTimeFormatterBuilder() .appendPattern("yyyyMMddHHmmss") .appendValue(ChronoField.MILLI_OF_SECOND, 3) .toFormatter();</code>
但是,此解決方法並不能完全解決這個問題,因為它無法處理以下用例只有兩個圖案符號「SS」。也建議使用其他欄位或外部庫的替代解決方案。
與此問題相關的 JDK 問題已標記為已解決Java 9。這表明 java.time 套件解析秒小數值的能力在此版本中得到了改進。
以上是`java.time` 可以解析日期字串中的秒分數值嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!