2016-06-10 72 views
0

我正在嘗試從頁面中提取RSS數據並將其上傳到我的數據庫。從「星期五,2016年6月10日14:30:38 -0500」轉換爲DATETIME「

例如:

<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

不需要用'/'替換' - '。您可以直接通過$ 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)); 

輸出:

2016年6月11日12點三十分38秒

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)); 
+0

謝謝!當我可以的時候會檢查這個答案。 – newneub

相關問題