JAX-WS如何将带有时区的XML日期映射到Java日期?

时间:2010-11-17 20:26:40

标签: java datetime timezone jax-ws

JAX-WS如何将XML schema datexs:dateTime)映射到Java Date?特别是,如果JAX-WS服务器收到包含时区的xs:dateTime,JAX-WS是否会将日期转换为服务器时区?例如,假设运行JAX-WS的服务器的XML日期为2010-08-20T00:00:00-04:00,并且服务器在时区UTC-5中运行,此后JAX-WS将日期映射到Java Date属性{{1 ,now生成什么字符串?

考虑到XML日期的集合作为输入,JAX-WS会将这些对象映射到Java now.toString()对象的集合,但是在日志中,令我惊讶的是,我看到了EST和EDT时区的混合我希望看到所有日期都在EST,即当前的主持时区。

1 个答案:

答案 0 :(得分:3)

Date.toString()打印相对于服务器时区的时间。

E.g。

SimpleTimeZone stz = new SimpleTimeZone(-18000000, "UTC-5");
TimeZone.setDefault(stz);

表示对Date.toString()的所有调用都采用Fri Jan 01 0:00:00 GMT-5:00 2010

格式

因此,如果您有一个接受输入Date并且没有任何更改而返回的Web服务,它将被更改为与服务器的时区匹配。

如果您有任何其他问题,我建议您自己玩。