首页  >  文章  >  Java  >  `java.time` 可以解析日期字符串中的秒分数值吗?

`java.time` 可以解析日期字符串中的秒分数值吗?

Susan Sarandon
Susan Sarandon原创
2024-10-28 22:26:02406浏览

 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