首页 > 解决方案 > 未知原因引发的 DateTimeParseException

问题描述

这是完整的错误行:

java.time.format.DateTimeParseexception: Text '01-Jan-2020' could not be parsed at index 0

这是我正在使用的引发错误的代码:

val DATETIME_FORMAT = DateTimeFormatter.ofPattern("d-MMM-yyyy").withZone(ZoneId.of("UTC"))
val parsedTime = DATETIME_FORMAT.parse(input)

如错误行所示,该input变量为“2020 年 1 月 1 日”。我已经查看了许多与此类似的问题,但这不是预期的解决方案。有人可以告诉我如何解决这个问题吗?

标签: javascalatime

解决方案


您必须将 Locale 设置为模式方法的第二个参数,如下所示(java 中的工作代码)

DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy", Locale.ENGLISH).withZone(ZoneId.of("UTC"));

var parsedTime = dateTimeFormatter.parse("01-Jan-2020");

推荐阅读