Java中OffsetDateTime解析的字符串

时间:2019-02-17 15:51:18

标签: java date datetime java-time

我正尝试如下将日期字符串解析为OffsetDateTime

但是我正在摆脱例外,

  

线程“ main”中的异常java.time.format.DateTimeParseException:   无法在索引0处解析文本“周一6月18日00:00:00 IST 2012”

public class ParseExample {
    public static void main(String... args) throws ParseException {
        String dateStr = "Mon Jun 18 00:00:00 IST 2012";
        System.out.println(OffsetDateTime.parse(dateStr));
    }
}

有人可以帮我解决这个错误。

谢谢。

1 个答案:

答案 0 :(得分:7)

ZonedDateTime

周一6月18日00:00:00 IST 2012 应该是ZonedDateTime,您可以使用自定义的DateTimeFormatter对其进行解析,然后将其转换为{{3} }:

DateTimeFormatter format = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);

OffsetDateTime offsetDateTime = ZonedDateTime.parse(dateStr, format).toOffsetDateTime();