gpt4 book ai didi

Java日期时间解析异常: text cannot be parsed

转载 作者:行者123 更新时间:2023-12-02 01:03:24 26 4
gpt4 key购买 nike

这段代码在我的旧电脑上运行良好。但是,当我将其移动到这台计算机后,我收到了此异常。我研究了其他帖子中可能的答案,即添加 Locale.US不工作。

基本上,

        Locale locale = new Locale("en", "US");
DateTimeFormatter dtformatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS",locale);
LocalTime time = LocalTime.parse("20190502050634678",dtformatter);

Exception in thread "main" java.time.format.DateTimeParseException: Text '20190502050634678' could not be parsed at index 0
at java.time.format.DateTimeFormatter.parseResolved0(Unknown Source)
at java.time.format.DateTimeFormatter.parse(Unknown Source)
at java.time.LocalTime.parse(Unknown Source)

我不知道如何克服这个问题?我删除了Locale这也不起作用。

最佳答案

这是因为 Java 无法解析第二部分的小数部分。 jdk 中有一个错误,直到 Java 9 才修复。这可能就是当您将程序从一台计算机移动到另一台计算机时失败的原因,因为它们使用不同的 Java 运行时。您可以将另一台计算机上的运行时更新为 Java 9。

或者使用以下代码。

    Locale locale = new Locale("en", "US");
DateTimeFormatter formatter =
new DateTimeFormatterBuilder()
.appendPattern("yyyyMMddHHmmss")
.appendValue(ChronoField.MILLI_OF_SECOND, 3)
.toFormatter();
LocalTime time = LocalTime.parse("20190502050634678",formatter);

解决方案是从这里借来的Is java.time failing to parse fraction-of-second?

关于Java日期时间解析异常: text cannot be parsed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60368444/

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