编程语言
首页 > 编程语言> > java – 尝试将PDT中的日期时间解析为ZonedDateTime表示

java – 尝试将PDT中的日期时间解析为ZonedDateTime表示

作者:互联网

我该如何解析PDT时区中的日期时间值?

06/24/2017 07:00 AM (PDT)

我想维护时区,以便我可以根据网站访问者的偏好来表示其他时区的时间.

我尝试使用ZonedDateTime但是我得到一个解析错误:

   java.time.ZonedDateTime.parse("06/24/2017 07:00 AM (PDT)")

错误是:

java.time.format.DateTimeParseException: Text '06/24/2017 07:00 AM (PDT)' could not be parsed at index 0
   at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
   at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
   at java.time.ZonedDateTime.parse(ZonedDateTime.java:597)
   at java.time.ZonedDateTime.parse(ZonedDateTime.java:582)   ... 29 elided

另外,你是否同意我应该使用ZonedDateTime?

解决方法:

由于您的格式是非标准格式,因此您需要将其指定给解析器:

ZonedDateTime.parse(
    "06/24/2017 07:00 AM (PDT)", 
    DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm a (zzz)")
);

标签:java,timezone,datetime,datetime-parsing,zoneddatetime
来源: https://codeday.me/bug/20190714/1458135.html