Java解析日期时间不正确,并假设本地时区



我有一个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"));

相关内容

  • 没有找到相关文章

最新更新