Twitter 状态时间戳帮助

Posted

技术标签:

【中文标题】Twitter 状态时间戳帮助【英文标题】:Twitter statuses timestamp help 【发布时间】:2010-09-28 18:08:40 【问题描述】:

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

Thu Aug 05 12:36:20 +0000 2010

但是我希望它像这样显示:

54 days ago

我如何使用 php preg_replace 管理这个?

目前我也在使用 twitter API 来获取状态。使用这种方法还是 RSS 提要更好?如果有人可以帮助我,我将不胜感激。谢谢

【问题讨论】:

【参考方案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()处理格式化和时区转换。

【讨论】:

【参考方案2】:

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

随心所欲显示时间的概念称为“模糊时间”,你可以在上面找到一个真正的代码帖子here。

【讨论】:

【参考方案3】:

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

就 API 与 RSS 而言,这完全取决于您。必须解析两个响应。由于 Twitter 仅支持 OAuth,因此 API 的开销可能会更大。尽管有几个 PHP 库可用。如果您只想显示状态,我会使用 RSS。

【讨论】:

如何通过 RSS 进行操作?我似乎在任何地方都找不到教程。

以上是关于Twitter 状态时间戳帮助的主要内容,如果未能解决你的问题,请参考以下文章

时间戳如何帮助防止 Web 服务中的重放攻击

iOS-OC根据时间戳获取距离现在的状态(刚刚,分钟前,今天,昨天)

请帮助将字符串转换为蜂巢中的时间戳

我需要帮助找出这个 oracle 数据库时间戳 [重复]

带有日期和时间戳的 BBD 功能

如何使用 SQL 根据条件定义事件停止时间戳?