2010-09-28 105 views
1

我试图让twitter状态显示在我的博客上,但是我无法获得创建每个状态的时间以显示我所需的方式。下面是如何被现在它打印:Twitter状态时间戳帮助

Thu Aug 05 12:36:20 +0000 2010 

但是我想它要显示这样的:

54 days ago 

我如何使用PHP的preg_replace管理呢?

此刻我正在使用twitter API获取状态。使用这种方法还是RSS提要更好?如果有人能帮助我,我将不胜感激。谢谢

回答

0

你不需要手动解析日期,它已经在一个可以理解的格式。如果通过strtotime运行它,它将返回一个可以使用的时间戳。

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

0

您将无法单独使用preg_replace()。你需要做一些时间比较来创建一个人类可读的时间戳。检查出this post。另外请记住,Twitter的回复将是GMT。

就API与RSS而言,这真的取决于您。两个答案都必须解析。现在,Twitter只支持OAuth,可以说有更多的开销。虽然有几个PHP库可用。如果你只想显示状态,我会用RSS。

+0

我怎样才能通过RSS?我似乎无法在任何地方找到教程。 – 2010-10-01 17:00:57

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()来处理格式和时区转换。