Twitter状态时间戳帮助

时间:2010-09-28 18:08:40

标签: php twitter

我正在尝试在我的博客上显示推特状态,但是我无法获得创建每个状态的时间来显示我想要的方式。以下是它现在的打印方式:

Thu Aug 05 12:36:20 +0000 2010

但是我希望它显示如下:

54 days ago

如何使用PHP preg_replace管理它?

此刻,我正在使用Twitter API来获取状态。使用此方法或RSS提要更好吗?如果有人能帮助我,我将不胜感激。感谢

3 个答案:

答案 0 :(得分:1)

我真的建议将其写为“2010年8月5日”(或者您希望它出现)。这样你只需要写一次,而不是每天一次。但是也可以用JS读取它的方式写成GMT时间戳,但是关闭JS的人看不到它。然后,一旦你的页面显示正确的东西,使用JS脚本循环标记并用你想要的友好文本替换日期。例如:

<span class="dateToBeReplaced" title="Thu Aug 05 2010 12:36:20 GMT+0000">Aug 05 2010</span>

JS看起来像这样(使用jQuery):http://jsfiddle.net/JxTLt/4/

JS对日期格式比PHP更挑剔,所以你几乎应该坚持上面的格式。使用strtotime()来处理格式和时区转换。

答案 1 :(得分:0)

您无需手动解析日期,它已经是可以理解的格式。如果您通过strtotime运行它,它将返回您可以使用的时间戳。

根据需要显示时间的概念称为“模糊时间”,您可以在其上找到真正的代码帖子here

答案 2 :(得分:0)

单独使用preg_replace()您将无法执行此操作。您需要进行一些时间比较以创建人类可读的时间戳。查看this post。另请注意,Twitter的回复将是GMT。

就API与RSS而言,这完全取决于您。两个响应都必须进行解析。现在可以说API的开销更大,因为Twitter只支持OAuth。虽然有几个PHP库可用。如果您只想显示状态,我会使用RSS。