【发布时间】:2014-09-02 15:10:02
【问题描述】:
我正在制作一个函数,它将当前月份分成几周的数组,每周都有其开始和结束日期。例如,当前月份是 9 月,所以这是我希望我的函数返回的内容:
$week_arr[1]['start'] = '1-09-2014';
$week_arr[1]['end'] = '7-09-2014';
$week_arr[2]['start'] = '8-09-2014';
$week_arr[2]['end'] = '14-09-2014';
/*
.
.
.
*/
$week_arr[5]['start'] = '29-09-2014';
$week_arr[5]['end'] = '30-09-2014';
我知道只有非闰二月才有 4 周。 这就是我目前所拥有的
$no_of_days_in_month = date("t");
$no_of_weeks = (ceil(intval($no_of_days_in_month)/7));
$week_inc = 0;
$curr_month_year = date("m-Y");
$week_arr = array();
for($i = 1; $i <= $no_of_weeks; $i++){
$week_arr[$i]['start'] = ($week_inc+1)."-".$curr_month_year;
$week_arr[$i]['end'] = ($week_inc+7)."-".$curr_month_year;
$week_inc += 7;
}
var_dump($week_arr);
它几乎可以正常工作,除了我希望它在上周的最后一天停止。
上面的代码与一周的5th 索引有问题。结果
$week_arr[5]['start'] = '29-09-2014'
$week_arr[5]['end'] = '35-09-2014'
如何解决这个问题?
感谢您的回答。
【问题讨论】: