我正在尝试从页面中提取RSS数据并将其上传到我的数据库。
示例:
<dc:date>Fri, 10 Jun 2016 14:30:38 -0500</dc:date>
-0500是麻烦。
我通常做的事情:
$dc1 = $xml->channel->item[$i]->children($namespaces["dc"]);
$pubDate1 = $dc1->date;
$pubDate = date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $pubDate1)));
我应该以不同方式定义$ pubDate吗?
答案 0 :(得分:0)
如果您的所有日期都有最后一部分,则此代码可能有效。但是如果最后一部分(-0500)出现在其中一些部分中则不起作用:
$dc1 = $xml->channel->item[$i]->children($namespaces["dc"]);
$pubDate1 = explode(' ',$dc1->date);
// remove -0500
array_pop($pubDate1);
$pubDate1 = implode(' ',$pubDate1);
$pubDate = date('Y-m-d H:i:s', strtotime($pubDate1));
答案 1 :(得分:0)
无需用'/'替换' - '。您可以直接传递$ pubDate1
$dc1 = $xml->channel->item[$i]->children($namespaces["dc"]);
$pubDate1 = $dc1->date; // 'Fri, 10 Jun 2016 14:30:38 -0500'
$pubDate = date('Y-m-d H:i:s', strtotime($pubDate1));
OutPut:
2016-06-11 12:30:38