0

...そして一度だけではありません...

    $now = date("D, d M Y H:i:s O");
    foreach ($items AS $item)
        {

            $currentDate = strtotime($now);
            $pastDate = $currentDate-(60*5);
            $formatDate = date("Y-m-d H:i:s", $pastDate);
            echo "\t\t<item>\n";
            echo "\t\t\t<pubDate>" . $formatDate . "</pubDate>\n" ;

今、毎回 5 分の formatDate デクリメントが必要です。すべての要素に同じ時間を必要としません... ありがとう

4

4 に答える 4

2

(60*5) を減算するという最初のアイデアは正しかったです。コードに従って元の値から繰り返し減算するのではなく、作業値から減算し続ける必要があります。

$looptime = time();
foreach ($items AS $item) {
    $looptime -= (60*5);
    $formatDate = date("Y-m-d H:i:s", $looptime);
    echo "\t\t<item>\n";
    echo "\t\t\t<pubDate>" . $formatDate . "</pubDate>\n" ;
}
于 2011-07-25T21:01:53.673 に答える
1
$currentDate = time();
foreach ($items as $item){
    $formatDate = date("Y-m-d H:i:s", $currentDate);
    echo "\t\t<item>\n";
    echo "\t\t\t<pubDate>" . $formatDate . "</pubDate>\n" ;
    $currentDate = strtotime('-5 minutes', $currentDate);
}
于 2011-07-25T20:52:20.457 に答える
1

PHP 5.3 を使用している場合は、 を確認してくださいDateTime。特定の時間のオブジェクトを作成できsub()、時間を減らすために使用できるメソッドがあります。

于 2011-07-25T20:52:29.620 に答える
0
$now = time();
foreach ($items AS $item)
    {
        echo "\t\t<item>\n";
        echo "\t\t\t<pubDate>" . date("Y-m-d H:i:s", $now) . "</pubDate>\n" ;
        echo "\t\t</item>\n";
        $now -= (60*5);
    }
于 2011-07-25T20:56:35.110 に答える