将 RSS pubdate 转换为 mysql 数据库中的时间戳

Convert RSS pubdate to timestamp in mysql database

我在 mysql 中的 table 提要有一个名为 pubDate 的 RSS timestring 列。 我想添加一个额外的列 pubDate_Date 并插入 RSS timestring 作为真实日期。

我已经创建了附加列 formatted as DATE 并尝试使用以下代码用数据更新新列,但不知何故我无法让它工作。我是新手。

function pubDateToMySql($str){
    return date('Y-m-d H:i:s', strtotime($str));
};

$sqlCommand = "SELECT * FROM feeds ORDER BY id ASC"; 
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 
while ($row = mysqli_fetch_array($query)) { 
    $id = $row["id"];
    $pubDate = $row["pubDate"];
    $pubDate_Date = pubDateToMySql($pubDate); 
    $sql = mysqli_query($myConnection, "UPDATE feeds SET pubDate_Date = 
    $pubDate_Date WHERE ID = $id");
} 
mysqli_free_result($query);

在此 SQL 查询中

UPDATE feeds 
SET pubDate_Date = $pubDate_Date 
WHERE ID = $id

您必须像这样在 ' 中使用日期值:

UPDATE feeds 
SET pubDate_Date = '$pubDate_Date' 
WHERE ID = $id

还要检查数据库

中列pubDate_Date的类型

为了完成这个 post,我是这样完成的:

UPDATE feeds SET pubDate_Date = STR_TO_DATE(pubDate, '%a, %d %b %Y %T')