繁体   English   中英

DateTimeParseException通过解析日期字符串

[英]DateTimeParseException by parsing a date string

我正在尝试使用Java OffsetDateTime解析日期字符串,但出现异常。

字符串如下所示: "20101217180000GMT+0800"

我的方法如下所示:

OffsetDateTime.parse("20101217180000GMT+0800", DateTimeFormatter("yyyyMMddHHmmssz"));

我得到:

java.time.format.DateTimeParseException:....在索引17处找到未分析的文本

有任何想法吗? :)

那里基本上有两个区域说明符:

  • GMT
  • +0800

如果打印从索引17开始的时间的子字符串(发生错误的位置),则会得到+0800 ,因此它已经消耗了GMT ,并且不知道如何处理其余时间。

我建议将GMT作为文字处理,即用单引号将其括起来,并使用Z (或X ,取决于您要如何处理GMT + 0,如果有的话):

yyyyMMddHHmmss'GMT'Z

Ideone演示

请试试

OffsetDateTime.parse("20101217180000GMT+0800",DateTimeFormatter.ofPattern("yyyyMMddHHmmsszx"));

这可能有效。 但是我认为该区域和抵消冲突。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM