java - 未知原因引发的 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 日”。我已经查看了许多与此类似的问题,但这不是预期的解决方案。有人可以告诉我如何解决这个问题吗?
解决方案
您必须将 Locale 设置为模式方法的第二个参数,如下所示(java 中的工作代码)
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy", Locale.ENGLISH).withZone(ZoneId.of("UTC"));
var parsedTime = dateTimeFormatter.parse("01-Jan-2020");
推荐阅读
- angular - Angular 会向 Google 发送数据吗?
- matlab - 如何使用 MATLAB 在散点图中找到多条水平直线?
- wordpress - 如何让 wordpress 通过 REST API 将用户详细信息发送到 Zendesk?
- javascript - discord.js - 机器人不会添加角色:TypeError:无法读取未定义的属性“添加”
- python - 更改 Pandas / Matplotlib 直方图中标签的 x 轴顺序?
- python - 从 Python 烧瓶 sqlachemy 应用程序连接并查询 Azure DB
- scheme - 如何在 Racket/Scheme 中使用 foldl/r 添加两个数字的列表
- python - Python tkinter:AttributeError:“类”对象没有属性“事件”
- .net-core - 适用于 .net Core 的 Windows Workflow Foundation
- python - 使用多处理更新谷歌电子表格中的单元格?