Twitter日期格式转换为MySQL

4

我正在通过Twitter搜索API检索推文并将它们保存在MySql数据库中。问题是这个服务器没有安装PHP DateTime和DateTimeZone库(或者我被告知是这样),因此这种方法无法使用:

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

那么,你知道其他的直接方法来解析这个 "Wed, 08 Feb 2012 23:59:50 +0000" 成为 2012-02-08 23:59:50 或 MySQL 的有效日期吗?(不使用 substrings 的切片)。我尝试过多种使用 gmdate() 的方式,但并没有成功。

谢谢


手册中得知:"使用这些函数无需安装,它们是PHP核心的一部分。" - Mike
@Mike:很可能OP只有php < 5.2。 - zerkms
如果您的主机使用的是低于5.2版本的任何东西,我建议您切换主机。即使5.2版本的支持已经在近两年前结束了(http://php.net/archive/2010.php)。 - Mike
2个回答

5

0

Twitter created_at 到 MySql datetime 查询示例。

这个查询对我有效。首先将 Twitter 日期格式分割成字符串,然后在 MySql 中连接并转换为 datetime:

    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;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接