当日期值包含«Z»时,GWT DateTimeFormat抛出IllegalArgumentException

时间:2011-02-10 15:32:19

标签: gwt timezone illegalargumentexception

解析包含«Z» - 时区指示符的日期 - 即使格式很好也会失败。有什么问题?

以下代码抛出IllegalArgumentException:

DateTimeFormat
.getFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
.parse("2010-12-06T10:26:52.011Z");

这个有效:

DateTimeFormat
.getFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
.parse("2010-12-06T10:26:52.011");

1 个答案:

答案 0 :(得分:2)

GWT不理解'Z'(对于Zulu TimeZone)作为GMT。如果您将第一个示例中的尾部Z更改为GMT,则可以正常工作。

if (s.endsWith("Z")) {
  //  strip off the last 'Z' and replace with GMT timezone information
  s = StringUtils.chop(s) + "GMT-00:00";
}