2012-02-13 61 views
3

我正在檢索Twitter搜索API,並將它們保存在MySql數據庫中。問題是這樣的服務器沒有安裝PHP的DateTimeŸDateTimeZone庫(或因此有人告訴我),所以這種方法行不通:Twitter日期格式爲Mysql

$datetime = new DateTime($tw_result["created_at"]); 
$datetime->setTimezone(new DateTimeZone($DATETIME_ZONE)); 
$fecha_tweet = $datetime->format('Y-m-d H:i:s'); 

所以,你知道其他直道解析這個「星期三,2012年2月8日23:59:50 +0000「分成2012-02-08 23:59:50或MySql的有效日期? (除了用子串'切片之外)。我嘗試了幾種使用gmdate()的方法,但沒有得到它。

謝謝

+0

從[手冊](http://www.php.net/manual/en/datetime.installation.php )「使用這些函數不需要安裝,它們是PHP內核的一部分。」 – Mike 2012-02-13 22:31:24

+0

@Mike:最有可能的OP只是php <5.2 – zerkms 2012-02-13 22:34:20

+0

如果您的主機使用任何<5.2我會建議交換主機。即使是5.2的支持[大約2年前結束](http://php.net/archive/2010.php)。 – Mike 2012-02-14 16:11:28

回答

0

Twitter的created_at到MySql的日期時間查詢的例子。

此查詢適用於我。第一分割中爲字符串twitter的日期格式然後串聯,並轉換爲DATETIME所有在MySQL:

SELECT 
    STR_TO_DATE(CONCAT(SUBSTRING_INDEX(SUBSTRING_INDEX(dt, ' ', 3), ' ', - 1), 
        '/', 
        SUBSTRING_INDEX(SUBSTRING_INDEX(dt, ' ', 2), ' ', - 1), 
        '/', 
        SUBSTRING_INDEX(SUBSTRING_INDEX(dt, ' ', 6), ' ', - 1), 
        ' ', 
        SUBSTRING_INDEX(SUBSTRING_INDEX(dt, ' ', 4), ' ', - 1)), 
      '%e/%b/%Y %r') dtm 
FROM 
    tweets;