显示上个月的最后几天php

时间:2013-02-06 04:19:50

标签: php mysql

我搜索了数以百万计有关此事的类似帖子,但找不到如何从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++;
}

示例:enter image description here

2 个答案:

答案 0 :(得分: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++;
}
?>

测试Here

答案 1 :(得分:0)

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

$month = '2013-02-05';

for($i = date('t', strtotime($month)); $i > 0; $i--) {
  ...
}