0

我想知道处理时区的最佳方法是什么。

假设user1写了一条消息user2

现在user1UTC + 2并且user2UTC -2并且假设服务器设置时间UTC +1

那么我将如何处理时区的所有这些差异?

我正在编写 jquery 插件,它将更新时间多久前发生的事情,我最好的猜测是将服务器设置为UTC 0然后根据客户端时区计算时差,但是有没有办法获取客户端时区,或者也许我做错了?

4

1 回答 1

2

从上到下使用纪元时间(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 毫秒,与时区无关。

于 2012-10-18T20:06:16.710 回答