7

可能重复:
如何使用 PHP 生成每月的天数?

使用 PHP,以这种格式给出一个月:10 - 10 月,11 - 11 月,我将如何填充一个数组,其中键代表给定月份的每一天。

所以,

例如,对于二月份,您将拥有一个包含 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
);

假设,今年(否则二月可能是 28 或 29)

于 2012-10-29T09:19:23.443 回答
1

cal_days_in_month — 返回给定年份和日历的一个月中的天数

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 回答