0

現在、次の日付の RSS フィードを取得しています。

<rss>
 <channel>
  <lastBuildDate>Thu, 18 Apr 2013 16:14:15 GMT</lastBuildDate>  

<item>
<pubDate>Fri, 05 Apr 2013 14:25:13 GMT</pubDate>  
</item>

<item>
<pubDate>Wed, 05 Sep 2012 10:01:27 GMT</pubDate>  
</item>

すべてのアイテムの lastBuildDate と pubdate の違いを日数で計算しようとしています。

これまでのところ、私はこれを持っています:

<?php
foreach($rss->channel->item as $item){

  $rss->channel->lastBuildDate = date('D, d M Y H:i:s GMT', strtotime($date1));
  $item->pubDate = date('D, d M Y H:i:s GMT', strtotime($date2));
  $dateDiff    = $date1 - $date2;   
  $fullDays    = floor($dateDiff/(60*60*24));   
  echo "Differernce is $fullDays days";

  ?>

残念ながら、各アイテムの差は 0 日です。$date1 と $date2 が RSS フィードへの参照を持っていないことはわかっていますが、行の前半がそうであることを考えると、これにはまだ RSS パスが必要ですか? それとも、そもそも RSS フィードの日付を完全に間違って引っ張っているのでしょうか?

前もって感謝します!

4

4 に答える 4

0

strtotime関数を使用して2つの日付を比較することで、このようにすることができます

$lastBuildDate = $rss->channel->lastBuildDate;
$pubDate = $item->pubDate;

$lb = strtotime($lastBuildDate);
$pd = strtotime($pubDate);

$differnce = $pd - $lb;
echo floor($differnce/(60*60*24)) . ' days difference';

これは出力されます

212 days difference
于 2013-04-19T10:53:13.513 に答える