2012-05-09 61 views
0

在一個新項目中,我正在使用PHP正在讀取的rss並將其顯示在頁面上。 我想要做的一件事就是顯示帖子發佈後已經過去了多少時間,但是我找不到這樣做的方式,這是我當前的代碼,希望有人能幫助我!自pubDate以來的時間

echo "<div id=\"left\">"; 
    $rss1 = new DOMDocument(); 
    $rss1->load('http://www.macfan.nl/macfan.rss'); 
    echo '<h2>MacFan</h2>'; 
    $feed = array(); 
    foreach ($rss1->getElementsByTagName('item') as $node) { 
     $item = array ( 
      'title' => $node->getElementsByTagName('title')->item(0)->nodeValue, 
      'link' => $node->getElementsByTagName('link')->item(0)->nodeValue, 
      'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue, 
      ); 
     array_push($feed, $item); 
    } 
    $limit = 5; 
    for($x=0;$x<$limit;$x++) { 
     $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']); 
     $link = $feed[$x]['link']; 
     $date = date('F d', strtotime($feed[$x]['date'])); 
     echo '<p><a href="'.$link.'" title="'.$title.'">'.$title.'</a></p>'; 
     echo "<p class=\"small\">$date</p>"; 
    } 
echo "</div>"; 
+0

可能重複http://stackoverflow.com/questions/2915864/php-如何找到自從日期時間以來的時間) – jprofitt

回答

1

您可以比較unix時間戳;

$seconds_between_now_and_then=(time()-strtotime($feed[$x]['date'])); 

然後你可以看到它有多遠。下面這些可以幫助你使其更具可讀性自己:

$minutes_between_now_and_then=$seconds_between_now_and_then/60; 
$hours_between_now_and_then=$minutes_between_now_and_then/60; 
$days_between_now_and_then=$minutes_between_now_and_then/24; 

echo 'Seconds:'.$seconds_between_now_and_then.'<br />'; 
echo 'Minutes:'.$minutes_between_now_and_then.'<br />'; 
echo 'Hours:'.$hours_between_now_and_then.'<br />'; 
echo 'Days:'.$days_between_now_and_then; 
[?PHP如何找到因爲日期經過的時間(指
+0

嘿!感謝您的幫助,但現在只是另一個問題,我怎樣才能說1-60分鐘,然後在1小時--24小時之後,天數? – IanBauters

+0

if($ hours_between_now_and_then> 24){echo $ days_between_now_and_then。'天'; } else if($ minutes_between_now_and_then> 60){echo $ hours_between_now_and_then。'小時'; } else {echo $ minutes_between_now_and_then。'分鐘'; } – scott