GWT无法解析像BST和EDT

时间:2017-04-03 22:54:00

标签: java gwt

我对GWT不熟悉。

我一直在尝试以#34; dd-MMM-yyyy HH:mm z"格式解析日期。但是当时区是EDT或BST时,我得到一个例外。

GWT在解析时不支持这些时区吗?如果是这样,有没有其他方法可以用EDT解析日期?

请帮忙。

代码段:

DateTimeFormat dateParser = DateTimeFormat.getFormat("dd-MMM-yyyy HH:mm z");
String fomattedDate = dateParser.format(date,Timezone.createTimeZone(TimeZoneConstants.americaNewYork));
Date newDate = dateTimeParser.parse(formattedDate);

这一行给了我例外。

在阅读DateTimeFormat的文档之后,它说它在解析时支持较少的时区。

1 个答案:

答案 0 :(得分:2)

此代码适用于我:

TimeZoneConstants timeZoneConstants = GWT.create(TimeZoneConstants.class);
DateTimeFormat dateParser = DateTimeFormat.getFormat("dd-MMM-yyyy HH:mm Z");
String formattedDate = dateParser.format(date, TimeZone.createTimeZone(timeZoneConstants.americaNewYork()));
Date newDate = dateParser.parse(formattedDate);

我通过延迟绑定创建了TimeZoneConstants并将格式更改为dd-MMM-yyyy HH:mm Z(大写Z) - 使用z我确实获得了IllegalArgumentException

如果仍然遇到问题,请尝试深入检查解析功能以确定问题。