Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中从日期提取时间并存储在mysql中_Php_Mysql_Datetime - Fatal编程技术网

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

在php中从日期提取时间并存储在mysql中,php,mysql,datetime,Php,Mysql,Datetime,我向twitter API发出请求,我想用php从日期中提取时间并存储在mysql中。有人知道怎么做吗 我从结果中得到的时间和日期是……创建于“:“Thu,2012年7月26日22:16:59+0000” 感谢您在数据库中存储时间戳 在PHP端和MySQL端使用 简而言之,您的代码基本上如下所示: $twitter_timestamp='Thu,2012年7月26日22:16:59+0000'; $php\u time=strottime($twitter\u时间戳); $query='插入's

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

我从结果中得到的时间和日期是……创建于“:“Thu,2012年7月26日22:16:59+0000”

感谢您在数据库中存储时间戳 在PHP端和MySQL端使用

简而言之,您的代码基本上如下所示:

$twitter_timestamp='Thu,2012年7月26日22:16:59+0000';
$php\u time=strottime($twitter\u时间戳);
$query='插入'some_table'值(“.$php_time.”);
以上假设您使用正确的类型(
timestamp
)将时间戳存储在列中。要了解有关
timestamp
DATE
DATETIME
之间差异的更多信息,请参阅此文档页:

将时间存储为字符串 如果要以不区分时区的方式存储时间戳(除
时间戳
之外的任何内容,且不包括时区信息),则需要在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 . '");';

注意,该调用是可选的-如果您希望时间在某个特定时区,而不是当前时区。以上假设您希望时间戳的形式为“
HH:MM:SS

谢谢你,但现在我在mysql中领先1小时。我怎样才能更改它?@user1526175:数据库中列的类型是什么?它应该是
时间戳
,而不是
日期时间
。在这种情况下,您必须决定要使用哪个时区。您的twitter时间戳是UTC。@user1526175:
TIME
不是存储时区感知时间戳的正确方法。唯一的方法是
TIMESTAMP
,它存储真实的时间戳(在Unix epoch中),并在MySQL服务器的时区中显示它
TIME
只是一个文本字段,以
HH:MM:SS
格式存储值,因此您需要将时间戳转换为PHP端所需的时区。如何只输出时间?