如何使用PHP将RSS feed发布日期时间(GMT)转换为Unix时间戳?
我需要在TIMESTAMP
数据类型列中将日期存储到我的表中。
答案 0 :(得分:4)
是否可以选择使用PHP函数生成Unix时间戳(即自Unix Epoch以来的秒数),然后让MySQL从那里处理它?</ p>
PHP: - PHP Documentation
$timestamp = strtotime( 'Sat, 07 Sep 2002 09:42:31 GMT' ); // = 1031391751
MySQL: - MySQL Documentation
... `timestamp` = FROM_UNIXTIME( 1031391751 ) ...
答案 1 :(得分:2)
来自MySQL Manual:
TIMESTAMP列显示在 格式与DATETIME列相同。在 换句话说,显示宽度是 固定为19个字符,格式 是'YYYY-MM-DD HH:MM:SS'。
RSS中的所有日期时间都符合 RFC的日期和时间规范 822,除了当年 可以用两个字符表示 或四个字符(四个首选)。
因此,如果我们有以下RSS日期:
$timeRSS = 'Sat, 07 Sep 2002 09:42:31 GMT'; // RFC 822
我们需要执行以下操作将其转换为MySQL TIMESTAMP
格式:
date_default_timezone_set('GMT'); // make sure we are using the same timezone
date('Y-m-d H:i:s', strtotime($timeRSS)); // 2002-09-07 09:42:31