Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT无法解析BST ans EDT之类的时区_Java_Gwt - Fatal编程技术网

Java GWT无法解析BST ans EDT之类的时区

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

我是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.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
-capital
Z
作为时区,它会起作用。我尝试过,但仍然给出了一个illegalArgumentException。我试过使用z、z、v,但它仍然无法解析时区,因为注释还不够。我已经在回复中发布了我的代码。你能分享你正在使用的代码吗?你是否检查过你正在进行的调用是否将这些时区传递到浏览器,并且是JS(而不是GWT框架)无法解析它们?嗨,科林,我已经附上了代码片段。请看一看并分享您的输入。如果您将格式更改为
dd MMM yyy HH:mm Z
-capital
Z
作为时区,它会起作用。我尝试过,但仍然给出了一个illegalArgumentException。我试过使用z、z、v,但它仍然无法解析时区,因为注释还不够。我已经在回复中发布了我的代码。谢谢亚当。这里还有一个问题,当我将解析后的值放入java.util.Date对象时,它会将格式化的日期转换为GMT时区。我如何将其保留在EDT时区并放入日期对象?实际上,一旦解析了这个对象,我就需要在这个对象中设置值。恐怕在GWT中很难做到这一点,因为java.util.Date始终是浏览器的时区。例如,检查问题或问另一个问题。我很高兴能帮上忙。谢谢亚当。这里还有一个问题,当我将解析后的值放入java.util.Date对象时,它会将格式化的日期转换为GMT时区。我如何将其保留在EDT时区并放入日期对象?实际上,一旦解析了这个对象,我就需要在这个对象中设置值。恐怕在GWT中很难做到这一点,因为java.util.Date始终是浏览器的时区。例如,检查问题或问另一个问题。我很高兴我能帮助解析。