2010-09-28 56 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()來處理格式和時區轉換。