1

当您的 Web 服务接受来自与服务器不同时区的请求时,处理 DST 值的最佳方法是什么?

我的网络服务使用 ISO8601 标准 (2012-02-21T05:00:00.000-05:00) 接受日期字符串

我想考虑 DST,但不希望维护或连接到数据库的开销来获取从不同时区到我的服务器的每个请求的 DST。

我考虑的一种方法是使用服务器的默认 DST 设置,然后对于传入的每个请求将其转换为与我的服务器所在的时区相同的时区。然后在处理完成后,将字符串转换回客户端的时区并返回. 响应数据的转换可以在服务器或客户端上完成。

有什么建议么?

4

2 回答 2

3

您还可以查看用于在 Javascript 中处理日期对象的 XDate 项目。它与 JodaTime(在 Java 中)非常相似。非常易于使用和语义化。

XDate 项目

于 2013-02-04T11:06:56.277 回答
2

这就是我要做的。在提交数据/时间之前,将字符串解析为 JavaScriptDate对象。然后调用getTime()并提交该值。getTime()返回自 UTC 纪元以来的毫秒数,因此实际上,它使您的时间标准化。然后,当您将数据返回给用户时,将您的 UTC 毫秒值传递给Date对象的构造函数并按照您的意愿显示时间。默认情况下,它将显示在用户的时区中。

于 2012-02-21T17:21:40.730 回答