2012-02-13 17 views
3

Twitter検索APIを使ってTwitterを取得し、MySqlデータベースに保存しています。問題は、このサーバがPHPのDateTime Y 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'); 

をので、あなたが知っているこの「水を解析するために、他の道をまっすぐに行います、08 Feb 2012 23:59:50 +0000 "2012-02-08 23:59:50または有効なMySqlの日付? (部分文字列 'でスライスする以外)。私はgmdate()を使用するいくつかの方法を試しましたが、それには達しませんでした。

は、MySQLのdatetimeクエリの例に

+0

[マニュアル](http://www.php.net/manual/en/datetime.installation.phpから) "これらの機能を使うために必要なインストールはありません;それらはPHPコアの一部です。" – Mike

+0

@Mike:ほとんどのOPはphp <5.2 – zerkms

+0

ですホストが<5.2を使用している場合は、ホストを切り替えることをお勧めします。 5.2サポート(ほぼ2年前に終了)(http://php.net/archive/2010.php)。 – Mike

答えて

0

のTwitterのcreated_atありがとうございます。

このクエリは私にとって役に立ちます。まず、すべてのMySQLに連結し、日時に変換した後の文字列にしてTwitterの日付形式を分割:

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;