西班牙语java.time.format.DateTimeParseException on时间String

时间:2018-08-08 19:57:22

标签: java locale

我正在尝试使用Java 8 DateTimeFormatter类来解析西班牙语中的时间字符串。经过几个小时的搜索,我找不到任何提示。返回的错误是:

  

java.time.format.DateTimeParseException:无法在索引4处解析文本“ 905 PM AST MARTES 7 AGOSTO 2018”

这似乎是“ PM”元素的开始。

以下是相关代码:

DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder();
builder.parseCaseInsensitive();
builder.appendPattern("hmm a z EEE d MMM yyyy");
DateTimeFormatter formatter = builder.toFormatter(new Locale("es", "PR"));

String spanishDate = "905 PM AST MARTES 7 AGOSTO 2018"
Instant issuanceInstant = Instant.from(formatter.parse(spanishDate));

我尝试用不同的格式设置格式,但这是我需要解析的气象消息上使用的标准格式。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

EEEMMM是简写形式。您需要使用4个字母填写完整格式:

hmm a z EEEE d MMMM yyyy

答案 1 :(得分:0)

恢复为Java 8后,该错误已消失。感谢大家的帮助!我将针对它提出报告。