【问题标题】:DateTimeParseException thrown for unknown reason [closed]未知原因引发的 DateTimeParseException [关闭]
【发布时间】:2020-10-27 13:44:58
【问题描述】:

这是完整的错误行:

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 日”,如错误行所示。 我已经查看了许多与此类似的问题,但这不是预期的解决方案。谁能告诉我如何解决这个问题?

【问题讨论】:

  • 检查你的模式 "d-MMM-yyyy" -> 你应该使用 "dd-MMM-yyyy"
  • 我已经测试过这种格式,但我仍然遇到同样的问题

标签: java scala time


【解决方案1】:

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

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

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

【讨论】:

  • 完全按照您输入的方式进行了尝试,但仍然抛出相同的错误
  • 你能告诉我解决方案中的错误吗?
  • 同上:java.time.format.DateTimeParseException: Text '01-Jan-2020' could not be parsed at index 0
  • 这对我有用,我得到{},ISO,UTC resolved to 2020-01-01。 @C.Mag 我敢打赌你的字符串前面有一些非打印字符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-12
  • 2014-06-09
  • 2018-02-10
  • 1970-01-01
  • 2011-05-29
  • 2015-07-20
  • 2020-06-25
相关资源
最近更新 更多