2011-06-28 55 views
0

我正在構建一個程序,通過twitter api從tweet中獲取日期和時間信息,現在我的挑戰是我需要弄清楚什麼是最好的計劃是存儲時間戳像這樣:星期五7月16日16:55:52 +0000 2010年,進入一個MySQL數據庫,然後他們被存儲之後做一個SQL調用數據庫排序他們由最近的日期使用php和sql處理日期和時間信息

+0

有點髒,但[strtotime](http://php.net/manual/en/function.strtotime.php)應該可以工作 – Ray

回答

1

你會想要使數據在你的MySQL字段輸入一個DATETIME。要插入,您需要將時間戳從Twitter讀入到strtotime()的PHP可讀時間戳中,然後使用date()函數將其轉換爲mysql格式。

對於實例

$mysqlDate = date('Y-m-d H:i:s', strtotime($dateFromTwitter)); 
+1

將strtotime生成的時間戳傳遞給mysql'FROM_UNIXTIME (...)',保存兩個字符串格式化/解析階段。 –

0

關閉日期爲有效的MySQL日期時間

date('Y-m-d h:i:s', strtotime("Fri Jul 16 16:55:52 +0000 2010")); 

那則需要引用並插入到表:

$ SQL =「插入tweets (tw,daydate)values('$ tweet', '$ date');「

其中,daydate是DATETIME字段。

0

使用PHP的strtotime()肯定是一個很好的方法,但我發現早期使用strtotime()的問題。因此,也許你可能只想在MySQL中這樣做,如:

SELECT STR_TO_DATE(
    CONCAT(
     SUBSTRING('Fri Jul 16 16:55:52 +0000 2010', 1, 20), 
     ' ', 
     SUBSTRING('Fri Jul 16 16:55:52 +0000 2010', -4) 
    ), 
'%a %b %d %H:%i:%s %Y'); 

請注意,這樣做時,我忽略了+0000部分的時間戳。

希望這會有所幫助。