当前位置: 首页 > 知识库问答 >
问题:

dateTimeParseException:无法在索引0处分析文本“Tue Dec 30 14:28:38 CET 2014”

黄锋
2023-03-14
String string = "Tue Dec 30 14:28:38 CET 2014";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy");
LocalDateTime localDateTime = LocalDateTime.parse(string, formatter);

dateTimeParseException:无法在索引0处分析文本“Tue Dec 30 14:28:38 CET 2014”

这是如何造成的,我该如何解决?

共有1个答案

欧阳学真
2023-03-14

可能该日期对当前语言无效。月和日缩写从一个区域设置变为另一个。

查看以下示例:ideone演示

public static void main (String[] args) {
    String string = "Tue Dec 30 14:28:38 CET 2014";
    try {
        new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH).parse(string);
        System.out.println("OK ENGLISH");
    } catch (Exception ex) {
        System.out.println("KO ENGLISH");
    }

    try {
        new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.GERMAN).parse(string);
        System.out.println("OK GERMAN");
    } catch (Exception ex) {
        System.out.println("KO GERMAN");
    }
}

使用locale.english解析字符串,但不使用locale.german(应该是“di Dez 30 14:28:38 CET 2014”)。

 类似资料: