You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中LocalDate.parse用MMM dd, yyyy解析Oct 11, 2021报错如何解决

解析失败的核心原因

MMM格式符对应月份的本地化短文本表示,解析逻辑和你使用的Locale强关联。你调用DateTimeFormatter.ofPattern时没有显式指定Locale,会默认使用JVM当前运行环境的默认Locale,如果该Locale不是英语类Locale(比如是中文、西班牙语等非英语区域),就无法识别Oct这类英语月份缩写,所以会抛出索引0位置解析失败的错误。

修复方案

创建DateTimeFormatter时显式指定和日期文本匹配的Locale即可,示例代码如下:

LocalDate.parse("Oct 11, 2021", DateTimeFormatter.ofPattern("MMM dd, yyyy", Locale.ENGLISH))
额外注意要点
  • 部分地区的英语Locale中,月份短缩写默认带点号后缀(比如Oct.),如果你的日期文本不带点号,可以选择使用Locale.US这类不带点号后缀的英语Locale,或者通过DateTimeFormatterBuilder配置更宽松的解析规则。
  • 如果你的日期文本使用的是其他语言的月份缩写,只需将Locale.ENGLISH替换为对应语言的Locale即可。

内容的提问来源于stack exchange,提问作者Joe Almore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:39:02