-1

我搜索了数百万个类似的帖子,但找不到如何让它从 31、30、29、28 等倒数。

我可以让以前的日历块显示 31 日,但仅此而已。我需要它显示上个月的 31 日、30 日、29 日等。

来自 Renku 的更新代码:

    //define the variable dayCol
    $dayCol = 0;

    // Print last months' days spots.
    for ($i=0; $i<$leadInDays; $i++) {

    $lastmonth = date('d', strtotime(-$i.' day', strtotime($startDate))); // Days in previous month

    print "<td width=\"14%\" height=\"25%\" class=\"calendar_cell_disabled_middle\">$lastmonth</td>\n ";

    $dayCol++;
}

例子 :在此处输入图像描述

4

2 回答 2

2

我正在为此编写一个新循环。

 <?php

    $StartDate= date("Y-F-d",strtotime("+0 Month"));// get first day of current month

    $num= 10; // how many past days you need from previous month + 1 (to remove current day)

    for ($i=1; $i<$num; $i++) {

    echo $prev= date('Y-m-d', strtotime(-$i.' day', strtotime($StartDate)))."<br />"; //get last days of previous month

}

    ?>

我正在用你的循环重新编写它,

<?php

$dayCol = 0;

$leadInDays = 5; // (just for February cuz theres 5 blanks before its the 1st of Feb)

$StartDate= date("Y-F-d",strtotime("+0 Month"));

// Print last months' days spots.
for ($i=1; $i<($leadInDays+1); $i++) {

    $lastmonth = date('d', strtotime(-$i.' day', strtotime($StartDate))); // Days in previous month

    print "<td width=\"14%\" height=\"25%\" class=\"calendar_cell_disabled_middle\">$lastmonth</td>\n ";

    $dayCol++;
}
?>

在这里测试

于 2013-02-06T04:39:17.890 回答
0

我会date('t')用来获取所述月份的天数,然后向后循环:

$month = '2013-02-05';

for($i = date('t', strtotime($month)); $i > 0; $i--) {
  ...
}
于 2013-02-06T04:33:09.910 回答