Java GWT无法解析BST ans EDT之类的时区
我是GWT的新手 我一直试图解析格式为“Java GWT无法解析BST ans EDT之类的时区,java,gwt,Java,Gwt,我是GWT的新手 我一直试图解析格式为“dd-MMM-yyy-HH:mm-z”的日期,但当时区为EDT或BST时出现异常 GWT在解析时不支持这些时区吗?如果是的话,有没有其他方法可以使用EDT解析日期 请帮忙 代码段: DateTimeFormat dateParser = DateTimeFormat.getFormat("dd-MMM-yyyy HH:mm z"); String fomattedDate = dateParser.format(date,Timezone.createTi
dd-MMM-yyy-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
的文档后,它说它在解析时支持较少的时区数。这段代码适合我:
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
我确实得到了一个非法argumentexception
如果仍然存在问题,请尝试深入检查解析函数以追踪确切的问题。此代码适用于我:
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
我确实得到了一个非法argumentexception
如果您仍然遇到问题,请尝试深入检查解析函数以追踪确切的问题。您能分享您正在使用的代码吗?你是否检查过你正在进行的调用是否将这些时区传递到浏览器,并且是JS(而不是GWT框架)无法解析它们?嗨,科林,我已经附上了代码片段。请看一看并分享您的输入。如果您将格式更改为
dd MMM yyy HH:mm Z
-capitalZ
作为时区,它会起作用。我尝试过,但仍然给出了一个illegalArgumentException。我试过使用z、z、v,但它仍然无法解析时区,因为注释还不够。我已经在回复中发布了我的代码。你能分享你正在使用的代码吗?你是否检查过你正在进行的调用是否将这些时区传递到浏览器,并且是JS(而不是GWT框架)无法解析它们?嗨,科林,我已经附上了代码片段。请看一看并分享您的输入。如果您将格式更改为dd MMM yyy HH:mm Z
-capitalZ
作为时区,它会起作用。我尝试过,但仍然给出了一个illegalArgumentException。我试过使用z、z、v,但它仍然无法解析时区,因为注释还不够。我已经在回复中发布了我的代码。谢谢亚当。这里还有一个问题,当我将解析后的值放入java.util.Date对象时,它会将格式化的日期转换为GMT时区。我如何将其保留在EDT时区并放入日期对象?实际上,一旦解析了这个对象,我就需要在这个对象中设置值。恐怕在GWT中很难做到这一点,因为java.util.Date始终是浏览器的时区。例如,检查问题或问另一个问题。我很高兴能帮上忙。谢谢亚当。这里还有一个问题,当我将解析后的值放入java.util.Date对象时,它会将格式化的日期转换为GMT时区。我如何将其保留在EDT时区并放入日期对象?实际上,一旦解析了这个对象,我就需要在这个对象中设置值。恐怕在GWT中很难做到这一点,因为java.util.Date始终是浏览器的时区。例如,检查问题或问另一个问题。我很高兴我能帮助解析。