从php中的日期中提取时间并存储在mysql中

时间:2012-07-26 23:01:13

标签: php mysql datetime

我正在向twitter API提出请求,我想从php中提取日期并存储在mysql中。有人知道怎么做吗?

我从结果中得到的时间和日期是这个...... created_at“:”星期四,2012年7月26日22:16:59 +0000“

谢谢

1 个答案:

答案 0 :(得分:2)

在数据库中存储时间戳

在PHP端使用strtotime(),在MySQL端使用FROM_UNIXTIME()

所以基本上你的代码基本上可能是这样的:

$twitter_timestamp = 'Thu, 26 Jul 2012 22:16:59 +0000';
$php_time = strtotime($twitter_timestamp);
$query = 'INSERT INTO `some_table` VALUES ("' . $php_time . '");';

以上假设您将时间戳存储在具有正确类型(TIMESTAMP)的列中。要详细了解TIMESTAMPDATEDATETIME之间的差异,请参阅此文档页面:MySQL Documentation: The DATE, DATETIME, and TIMESTAMP Types

以字符串

存储时间

如果您希望以不支持时区的方式存储时间戳(除TIMESTAMP以外的任何内容而不包括时区信息),您需要在PHP端形成表示时间戳的字符串:

$twitter_timestamp = 'Thu, 26 Jul 2012 22:16:59 +0000';
$php_time = strtotime($twitter_timestamp);
// Optionally set local timezone:
date_default_timezone_set('America/Los_Angeles');
$php_timestamp = strftime('%T', $php_time); // will give "%H:%M:%S" timestamp
$query = 'INSERT INTO `some_table` VALUES ("' . $php_timestamp . '");';

注意,date_default_timezone_set()调用是可选的 - 如果您想要某个特定时区的时间,则不同于当前时间。以上假设您希望时间戳采用“HH:MM:SS”形式。