我有一个java web服务,我正在传递日期时间,服务器似乎不正确地解释日期时间,并响应时间设置为运行该服务的本地机器的时区。
如果我将以下日期时间传递给web上运行的服务,
startDate: "2014-06-11T05:00:00.000Z"
则返回的日期时间为
startDate: "Wed Jun 11 00:00:00 UTC 2014"
但是,如果我将相同的日期发送到服务的本地实例,则返回的日期时间位于我的时区(CDT)
startDate: "Wed Jun 11 00:00:00 CDT 2014"
我发现无论我传入的小时值是什么,结果都是午夜。在服务器端,从请求接收和解析日期时间的代码是
dateDateFormat.parse("2014-06-11T5:00:00.000Z")
求值为
Wed Jun 11 00:00:00 CDT 2014
我如何正确地接收和解析isostring到Date对象,以及在客户端和服务器之间持久化时区的最佳方法是什么?
在"解析"之前调用setTimeZone(TimeZone)。
dateDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));