【发布时间】:2014-08-05 09:12:53
【问题描述】:
我正在使用TimeAgo 插件自动更新帖子的时间。它让时间像05-08-2014 15:02:39 到5 minutes ago。
问题是,javascript 使用客户端的时钟作为时间。我来自亚洲的孟加拉国。但在 php 中,默认时区因服务器而异。我在 PHP 中输出格式 05-08-2014 15:02:39 以使用 TimeAgo 插件将其转换为 5 mintues ago 之类的格式。
由于服务器的时区不同,最近的帖子中没有显示less than a minute ago,而是显示nn hours ago。如果服务器是美国的,它显示11 hours ago,如果它是印度的,时间显示30 minutes ago。我该如何解决?
【问题讨论】:
-
通过 PHP 将服务器上的当前时间输出到页面,并将发布日期与该日期进行比较,而不是客户端时间。
-
@RoryMcCrossan 我不明白。那将如何解决 timeago 插件使用客户端时间的问题?
-
如 TimeAgo 项目页面所述:您是否关心时区支持?不要这样。 Timeago 也处理这个问题。只要您的时间戳采用 ISO 8601 格式并包含完整的时区指示符 (±hhmm),那么无论您的访问者居住在哪个时区,一切都应该开箱即用。
-
@Wulf 我认为我的时间戳不在“ISO 8601”中。我什至不知道那是什么。你能解释一下吗?
-
在下面查看我的答案。例如,ISO 8601 是“2014-08-05T11:29:30+0200”。最后一部分 (+0200) 是与 UTC 的小时差,TimeAgo 将据此计算正确的时区差。
标签: javascript php jquery datetime timeago