Datetime Twitter';s的网站计算一条推文发布了多长时间?

Datetime Twitter';s的网站计算一条推文发布了多长时间?,datetime,twitter,date-arithmetic,Datetime,Twitter,Date Arithmetic,这是我的推特订阅源的截图(就在我写这个问题的时候) 注意现在时间是如何相对于我的?(顺便说一句,这些时间差是正确的) 他们是怎么计算的 我问的原因是,我现在在澳大利亚墨尔本。当我将桌面远程连接到美国的服务器时,请登录到twitter(使用相同的帐户)。。我得到了同样的结果 起初,我以为他们是根据我的时区账户设置来计算的(顺便说一句,时区设置为+10 GMT) 但如果是这样的话,当我将桌面远程连接到服务器(位于加利福尼亚州旧金山)时,它应该在RD终端上显示不同的结果,对吗 那么,他们是如何编码

这是我的推特订阅源的截图(就在我写这个问题的时候)

注意现在时间是如何相对于我的?(顺便说一句,这些时间差是正确的)

他们是怎么计算的

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

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

但如果是这样的话,当我将桌面远程连接到服务器(位于加利福尼亚州旧金山)时,它应该在RD终端上显示不同的结果,对吗


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

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

考虑到这些日期时间被转换为同一时区(UTC),只需计算两个时间之间的差值即可

这与Stack Exchange站点标记您看到的所有活动的时间是一样的


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

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

考虑到这些日期时间被转换为同一时区(UTC),只需计算两个时间之间的差值即可

这与Stack Exchange站点标记您看到的所有活动的时间是一样的


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

我猜,它使用JavaScript获取本地时区,并与tweet的发布时间进行比较(当然是时区)。我猜,它使用JavaScript获取本地时间和时区,并与tweet的发布时间(当然是时区)进行比较。是的,这是您的时间(UTC)和显示给您的发布时间(UTC)之间的差异。@Matt也许我不理解这个问题,但当查看相对日期时,本地时间并不重要,只要您使用UTC,相对日期就很容易计算。没错,确切地说:当您将所有时间标准化为UTC时,时差就很容易计算。我想我在你真正提到UTC之前就发布了这篇文章,但它是一样的:当所有时间都转换为UTC时,可以比较澳大利亚的时间和英格兰格林威治的时间。换句话说,这是正确的答案:UTC是“通用”的,因此所有时间比较在UTC中都是合法的,无论“真实”时区如何。但这都是服务器端的。。服务器如何知道我的浏览器时间?JavaScript:
var d=new Date()
d。getTimezoneOffset()
是的,这是您的时间(UTC)和显示给您的发布时间(UTC)之间的差异。@Matt也许我不理解这个问题,但在查看相对日期时,本地时间并不重要,只要您使用UTC,相对日期就很容易计算。没错,确切地说:当您将所有时间标准化为UTC时,时差就很容易计算。我想我在你真正提到UTC之前就发布了这篇文章,但它是一样的:当所有时间都转换为UTC时,可以比较澳大利亚的时间和英格兰格林威治的时间。换句话说,这是正确的答案:UTC是“通用”的,因此所有时间比较在UTC中都是合法的,无论“真实”时区如何。但这都是服务器端的。。服务器如何知道我的浏览器时间?JavaScript:
var d=new Date()
d.getTimezoneOffset()