无法在索引0处解析字符串

时间:2019-02-15 11:53:00

标签: java

我正尝试通过以下方式解析此字符串,但出现异常。有人可以帮我吗?

String dateStr = "Thu 14 Feb 2019 15:05:48 +0200";
LocalDateTime datetime = LocalDateTime.parse(dateStr, DateTimeFormatter.ofPattern("EEE d MMM yyyy HH:mm:ss Z"));

例外:

java.time.format.DateTimeParseException: Text 'Thu 14 Feb 2019 15:05:48 +0200' could not be parsed at index 0

2 个答案:

答案 0 :(得分:1)

String dateStr = "Thu 14 Feb 2019 15:05:48 +0200";
        Locale bLocale = new Locale.Builder().setLanguage("en").setRegion("US").build();
        LocalDateTime datetime = LocalDateTime.parse(dateStr, DateTimeFormatter.ofPattern("EEE d MMM yyyy HH:mm:ss Z", bLocale));
        System.out.println(datetime);

您应该创建一个语言环境作为参数。

答案 1 :(得分:0)

我不确定,但是我认为EEE仅在您指定语言环境时才有效。无论如何,如果您只忽略一个月中的某天,它将起作用。

LocalDateTime datetime = LocalDateTime.parse(
    dateStr.substring(4), // skip "Thu "
    DateTimeFormatter.ofPattern("d MMM yyyy HH:mm:ss Z"));