字符串到OffsetDateTime在java中解析

问题描述 投票:0回答:1

我正在尝试将日期字符串解析为OffsetDateTime,如下所示。

但我得到以下异常,

线程“main”中的异常java.time.format.DateTimeParseException:无法在索引0处解析文本'Mon Jun 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));
    }
}

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

谢谢。

java date datetime java-time
1个回答
7
投票

ZonedDateTime

Mon Jun 18 00:00:00 IST 2012应该是ZonedDateTime,您可以使用自定义DateTimeFormatter解析它,然后将其转换为OffsetDateTime

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

OffsetDateTime offsetDateTime = ZonedDateTime.parse(dateStr, format).toOffsetDateTime();
© www.soinside.com 2019 - 2024. All rights reserved.