将字符串格式化为java8 ZonedDateTime

时间:2018-12-01 20:48:45

标签: java date formatting

将此字符串格式化为ZonedDateTime对象时遇到问题。我尝试关注oracle文档,但失败了,不知道应该怎么做。

String date = "Sat Dec 01 20:56:28 CET 2018"
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z uuuu");
ZonedDateTime dateTime = ZonedDateTime.parse(date, formatter);

我明白了

  

java.time.format.DateTimeParseException:无法在索引0处解析文本“ Sat Dec 01 20:56:28 CET 2018”

1 个答案:

答案 0 :(得分:2)

指定Locale,以确定翻译月份名称等的语言。

String date = "Sat Dec 01 20:56:28 CET 2018";
DateTimeFormatter formatter = 
    DateTimeFormatter.ofPattern(
        "EEE MMM dd HH:mm:ss z uuuu" , 
        Locale.US 
    )
;

ZonedDateTime dateTime = ZonedDateTime.parse(date, formatter);
System.out.println(dateTime);