我对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
的文档之后,它说它在解析时支持较少的时区。
答案 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
。
如果仍然遇到问题,请尝试深入检查解析功能以确定问题。