0

这是我的 twitter 提要的屏幕截图(截至目前,当我写这个问题时)。

在此处输入图像描述

请注意时间与的关系,现在?(那些时间差异是正确的,顺便说一句)

他们是怎么计算的?

我问的原因是,我现在在澳大利亚墨尔本。当我远程桌面到美国的服务器时,登录到 twitter(使用相同的帐户).. 我得到相同的结果!

起初,我以为他们是根据我的时区帐户设置来计算的(顺便说一句,设置为 +10 GMT)

在此处输入图像描述

但如果是这样的话,当我远程桌面到服务器(位于加利福尼亚州圣弗兰)时,它应该在那个 RD 终端上显示不同的结果,对吧?

那么他们是如何编码的呢?

4

1 回答 1

3

Twitter 很可能以 UTC 格式存储它发布的日期,它知道现在的 UTC 时间(在您的机器和服务器上)。

鉴于这些日期时间被转换为相同的时区 (UTC),只需计算两个时间之间的差异即可。

Stack Exchange 站点为您看到的所有活动标记时间也是一样的。

只要您能够将日期时间的任何表示形式转换为 UTC(几乎所有现有的 API 都有),就可以计算该值,因为 Twitter 会将 UTC 时间向下推到客户端,然后客户端进行数学运算(或在服务器上执行并将差异传递下来);您看到的 UTC 偏移设置是向您显示绝对时间并且您希望它们相对于您的时区。

于 2012-12-06T02:49:26.360 回答