如何在一年中的每一天(2013年)打印PHP网页?

时间:2013-03-25 22:59:47

标签: php for-loop strtotime

我是PHP的新手,我正在尝试制作一个打印出2013年每一天的PHP网页,如:

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

}

2 个答案:

答案 0 :(得分: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 with counter:

<?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>";
}

?>

答案 1 :(得分: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)));
}