使用php,填充当月的一系列天数

时间:2012-10-29 09:15:31

标签: php calendar

  

可能重复:
  how to generate monthly days with PHP?

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

所以,

例如2月你有一个带1-28键的数组。

3 个答案:

答案 0 :(得分:14)

您可以使用此功能:

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>"; 

答案 1 :(得分:2)

$date = '02 February';
$days = array_fill_keys(
    range(1, date('t', gmmktime(0, 0, 0, (integer) $date, 1))),
    NULL
);

今年的假设(其他二月可能是28或29)

答案 2 :(得分: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

填写正确数字的数组