7

重複の可能性:
PHPで毎月の日数を生成する方法は?

PHPの場合、次の形式で月を指定します:10-10月、11-11月、キーが指定された月の毎日を表す配列にどのようにデータを入力しますか。

それで、

たとえば、2月の場合、キー1〜28の配列があります。

4

3 に答える 3

16

この関数を使用できます:

function dates_month($month, $year) {
    $num = cal_days_in_month(CAL_GREGORIAN, $month, $year);
    $dates_month = array();

    for ($i = 1; $i <= $num; $i++) {
        $mktime = mktime(0, 0, 0, $month, $i, $year);
        $date = date("d-M-Y", $mktime);
        $dates_month[$i] = $date;
    }

    return $dates_month;
}

echo"<pre>"; 
print_r(dates_month(2, 2012));
echo"</pre>"; 
于 2012-10-29T09:33:51.937 に答える
3
$date = '02 February';
$days = array_fill_keys(
    range(1, date('t', gmmktime(0, 0, 0, (integer) $date, 1))),
    NULL
);

今年の仮定(それ以外の場合、2月は28または29になる可能性があります)

于 2012-10-29T09:19:23.443 に答える
1

cal_days_in_month —特定の年とカレンダーの1か月の日数を返します

int cal_days_in_month ( int $calendar , int $month , int $year )

例:

$date = '02 February';
list($month, $monthname) = split(' ', $date);
$num = cal_days_in_month(CAL_GREGORIAN, intval($month), 2012); //$num = 29

からの正しい番号で配列を埋め$numます。

于 2012-10-29T09:19:57.173 に答える