当您的Web服务接受来自不同时区的请求而不是服务器时,处理DST值的最佳方法是什么?
我的网络服务接受使用ISO8601标准的日期字符串(2012-02-21T05:00:00.000-05:00)
我想考虑DST,但不希望维护或连接到数据库的开销,以便为从我的服务器的不同时区进入的每个请求获取DST。
我考虑的一种方法是使用服务器默认的DST设置,然后为每个请求将其转换为与我的服务器所在的时区相同的时区。然后在处理完成后,将字符串转换回时区。客户和返回。响应数据的转换可以在服务器或客户端上完成。
有什么建议吗?
答案 0 :(得分:3)
您还可以查看XDate项目,以便在Javascript中处理日期对象。它与JodaTime(Java中)非常相似。非常容易使用和语义。
答案 1 :(得分:2)
这就是我要做的。在提交数据/时间之前,将字符串解析为JavaScript Date
对象。然后致电getTime()
并提交该值。 getTime()
返回自UTC纪元以来的毫秒数,因此实际上它会规范您的时间。然后,当您向用户返回数据时,将UTC毫秒值传递给Date
对象的构造函数,并显示时间。默认情况下,它将显示在用户的时区中。