0

新しいプロジェクトでは、RSS を PHP で読み取ってページに表示する作業を行っています。私がやりたいことの 1 つは、投稿が公開されてからの経過時間を表示することですが、その方法が見つかりません。これが私の現在のコードです。誰かが私を助けてくれることを願っています!

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>";
4

1 に答える 1

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;
于 2012-05-09T12:17:38.897 に答える