【发布时间】:2017-08-31 18:01:29
【问题描述】:
我正在尝试使用 java.time.format.DateTimeFormatter 来解析诸如“2017-04-03 19:16:19 Etc/GMT”之类的日期并获取java.time.format.DateTimeParseException: Text '2017-04-03 19:16:19 Etc/GMT' could not be parsed at index 20
这是我的格式化程序的初始化方式:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss zzz");
同时,如果日期如下:“2017-04-03 19:16:19 Etc/UTC”,一切正常。
我检查了java.time.ZoneId.getAvailableZoneIds() - 字符串“Etc/GMT”在列表中(技术上,在集合中)。
有什么想法吗?
【问题讨论】:
-
使用
"yyyy-MM-dd HH:mm:ss VV" -
这很快!谢谢!您可以将其发布为答案吗?
-
问题对其他人无用。 Javadoc of
DateTimeFormatter已经表明V是匹配命名时区的格式字母,而不是z。只需删除问题。 -
好吧,我想我是唯一一个可以在这样的事情上浪费几个小时的人......
-
@Andreas - 恕我直言,这值得回答。
标签: java parsing java-8 timezone