jQuery.timeago插件的时区问题

| 我在博客中使用了timeago jQuery插件,但计时本身似乎存在问题,我无法动弹不得,并指出问题的原因是什么。 当前是当地时间2011年5月31日02:30(GMT + DST)。现在,我使用的示例日期是... 2011年5月31日02:01。以下标签是
<abbr class=\"timeago\" title=\"2011-05-31T02:01:44+00:00\">May 31st, 2011</abbr>
但是jQuery输出日期是“从现在开始32分钟”,由于某种原因,它提前了一个小时。 有人知道我在这里做错了吗?     
已邀请:
        这里有一个猜测,所以我可能错了。 问题是您指定的测试timeatmp的偏移量为ѭ1U,因此它与UTC相同-但这与您在GMT时区中遵循DST的时间不同。 GMT与UTC相同,即偏移量为
0
。但是,您提到了DST,并且在遵循夏时制时,您的时钟向前移动1小时,因此您的UTC偏移也是如此。因此,就UTC而言,您现在的时间实际上是3英镑。这就是多余的时间。 毕竟,将所有时间都转换为UTC可能是有帮助的,对吧?跟随DST时的
02:30 GMT
01:30 UTC
。因此,与此相比,将来的测试时间戳为
02:01 UTC
,大约是半小时-因此为
32 minutes from now
。 如果您希望看到的是“ 8”,那么您的测试日期应该是“ 9”,以便通过时钟显示来表示等于“ 10”的UTC时间戳。 最安全的解决方案是始终使用UTC时间戳-这就是SO,Facebook和Twitter张贴日期的方式。然后可以为每个用户的时区明确地解释和格式化UTC时间戳。 然后,您的工作将是确保使用的时间戳不仅是您在钟面上看到的时间戳,而且是与UTC等效的时间戳–在您当前的时区中,UTC时间可能比显示的时间晚1小时。根据您生成HTML所用的内容,您应该能够找到内置于语言/平台中或作为第三方库的函数,该函数将为您提供与当前显示时间相当的UTC考虑您的时区的时钟。     
           目前,2011年5月31日02:30   当地时间(GMT + DST)。 您没有说DST是什么,我假设它是+1小时,与上面的no.good.at.coding相同   现在我使用的示例日期是...   2011年5月31日02:01。下列   这个标签是      2011-05-31T02:01:44 + 00:00 您在世界标准时间01:30的02:30。您的日期是UTC时间02:01,即您的时间03:01,那么则是未来的半小时。 根据建议,无论如何,您都应将所有日期另存为UTC。例如,Python具有datetime.utcnow()方法。始终保存为UTC,然后在显示时转换为本地时区。     

要回复问题请先登录注册