gpt4 book ai didi

Java 8 DateTimeFormatter 解析在未来很远的 ISO 日期失败

转载 作者:行者123 更新时间:2023-12-05 01:04:34 27 4
gpt4 key购买 nike

我遇到了一个问题,其中 DateTimeFormatter.ISO_DATE_TIME 如果年份大于 9999,则无法解析日期。我正在寻找错误报告或了解我做错了什么。此外 - JodaTime 解析适用于相同的字符串。Java 版本 - 8。此测试失败:

    public void testParseFarInTheFuture()
{
String str = "10000-04-11T01:24:55.887-03:56";

DateTimeFormatter.ISO_DATE_TIME.parse(str);
}

与 9999 年相同的测试有效。

是我做错了什么还是有错误?

最佳答案

前置 +

  • 四位数以上的年份应有一个前导加号字符 (+) 表示正年份 (AD)。
  • 任何整数计数的负年份 (BC) 始终以减号 (-) 开头。

java.time 类通常遵循 ISO 8601 标准中规定的规则。参见 handling years in ISO 8601 上的维基百科页面.

代码:

OffsetDateTime ldt = OffsetDateTime.parse( "+10000-04-11T01:24:55.887-03:56" ) ;

查看 code run live at IdeOne.com .

关于Java 8 DateTimeFormatter 解析在未来很远的 ISO 日期失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71958727/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com