我是PHP的新手,我正在尝试制作一个PHP网页,打印出2013年的每一天,如:
2013年1月1日
2013年1月2日
...........
...........
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>";
}
您总是使用$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)));
}
这很简单,当你使用strtotime( string )
时,有问题。
另一个重要的事情是,您需要将日期添加到$date
或将$counter
添加到strtotime( originalDate . '+'.$counter.' day')
<?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>";
}
?>