我想知道处理时区的最佳方法是什么。
假设user1
写了一条消息user2
现在user1
在UTC + 2
并且user2
在UTC -2
并且假设服务器设置时间UTC +1
那么我将如何处理时区的所有这些差异?
我正在编写 jquery 插件,它将更新时间多久前发生的事情,我最好的猜测是将服务器设置为UTC 0
然后根据客户端时区计算时差,但是有没有办法获取客户端时区,或者也许我做错了?
从上到下使用纪元时间(UTC+00)并忽略时区。假设浏览器/操作系统时区是正确的。这意味着发送和接收的每条消息都有一个时间戳,形式为自纪元以来的毫秒数,使用new Date().getTime()
.
我现在的时间是:
Thu Oct 18 2012 22:07:11 GMT+0200 (CEST)
或者:
1350590831507
CEST 是 UTC+02。在目标计算机上解释的后一种形式(new Date(1350590831507)
使用 UTC-0200)将是:
Thu Oct 18 2012 18:07:11 GMT-0200
但它仍然是同一个日期(时间点)!如果十秒后您将此时间戳与 比较new Date().getTime()
,您将始终得到 10000 毫秒,与时区无关。