-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 に答える