-4

私はPHPが初めてで、2013年の毎日を次のように印刷するPHP Webページを作成しようとしています:

2013 年 1月 1 日 2013 年
1 月 2 日
.......... 2013

12 月 31 日

以下のこのコードのさまざまなバリエーションで遊んでいますが、日付を複数回インクリメントすることはできません。

$date = "2013-01-01";

for ($counter = 0; $counter <= 365; $counter++) {

$newdate = strtotime('+1 day', strtotime($date));
$newdate = date('Y-m-j', $newdate);

echo "$newdate<br>";

}

4

2 に答える 2

1

簡単です。 を使用している場合strtotime( string )、問題があります。

$dateその他の重要なことは、日付を追加するか、$counterオンに追加する必要があることですstrtotime( originalDate . '+'.$counter.' day')

$date を使用したカウンターなしの 1。

<?php

$date = "2013-01-01";

for ($counter = 0; $counter <= 364; $counter++) {

    echo "$date<br>";

    $newdate = strtotime( $date . '+1 day');
    $newdate = date('Y-m-j', $newdate);
    $date = $newdate;

}

?>

2 カウンター付き:

<?php

$date = "2013-01-01";

for ($counter = 0; $counter <= 364; $counter++) {

    $newdate = strtotime( $date . '+'.$counter.' day');
    $newdate = date('Y-m-j', $newdate);


    echo "$newdate<br>";
}

?>
于 2013-03-25T23:06:08.883 に答える
1

日付の計算には常に$date変数を使用しますが、変更していません。ループは 366 回繰り返されます (0 から始まり、365 回で終了します)。また、最初にエコーし$dateないと、1 月 2 日から開始されます

$date = "2013-01-01";

for ($counter = 0; $counter < 365; $counter++) {
    echo "$date<br>";
    $date = date('Y-m-j', strtotime('+1 day', strtotime($date)));
}
于 2013-03-25T23:07:22.537 に答える