Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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 如何从WCF解析GWT中的日期_Java_Json_Gwt_Gxt - Fatal编程技术网

Java 如何从WCF解析GWT中的日期

Java 如何从WCF解析GWT中的日期,java,json,gwt,gxt,Java,Json,Gwt,Gxt,我对WCF应用程序的服务执行rest请求。该服务返回具有date属性的JSON序列化业务对象。日期的格式如下: "\/Date(1263412800000+0400)\/" 当我反序列化时,接下来的一行是在字符串类型的属性中设置的。然后,我通过以下方式通过类别将字符串转换为日期类型: public static Date parseDateFromJsonString(String value) { if(value == null) return null; long da

我对WCF应用程序的服务执行rest请求。该服务返回具有date属性的JSON序列化业务对象。日期的格式如下:

"\/Date(1263412800000+0400)\/"
当我反序列化时,接下来的一行是在字符串类型的属性中设置的。然后,我通过以下方式通过类别将字符串转换为日期类型:

public static Date parseDateFromJsonString(String value) {
    if(value == null) return null;

    long dateValue = Long.parseLong(value.replaceAll(".+\\(|(\\+|\\-|\\)).+", ""));

    return new Date(dateValue);
}
例如,服务器转发下一个日期“14.01.2010 00:00:00”。但在转换后,它看起来像“13.01.2010 23:00:00”

有人知道如何解决这个问题吗

我在'GMT+4:00'时区,我想在中显示相同的时区值


当前的问题并非在所有浏览器中都会出现。我使用的是GWT 2.6和GXT 3.1.0。

不清楚您在哪里看到值13.01.2010 23:00:00。我怀疑这只是应用时区的问题,但还不清楚。如果您能解释一下您在哪里看到每个值以及如何看到这些值,这将非常有帮助。我知道数据库的值为14.01.2010 00:00:00。但是,界面显示为2010年1月13日23:00:00。原始值应位于哪个时区,您位于哪个时区,您希望值显示在哪个时区?计算机和值位于同一时区。问题在于,在同一台机器上,但在不同的浏览器中,值的显示方式不同。其中一个显示为2010年1月14日00:00:00,另一个显示为2010年1月13日23:00:00。我想在所有浏览器中显示,其值来自服务器14.01.2010 00:00:00。我以前没有发现浏览器的差异-这很有趣。请提供更多详细信息-您在哪个浏览器中获得哪些值。还要注意的是,GMT+4:00并不是一个真正的时区,它只是一个时间点的偏移量——你在哪个国家?可能一个浏览器使用的是一个时区数据库,而另一个浏览器使用的是另一个时区数据库。顺便说一下,1263412800000的值对应于13-01-2010T0:00:00Z,因此我可以确认,如果偏移量在该日期实际为4小时,则本地值应为14-01-2010T00:00:00。