我想知道处理时区的最佳方法是什么。
假设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 毫秒,与时区无关。