-4

我对 PHP 很陌生,我正在尝试制作一个 PHP 网页,可以打印出 2013 年的每一天,例如:

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')

1 没有使用 $date 的计数器。

<?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 回答