例如:
选定日期:2014年12月16日至2015年1月15日
每周范围应该是:
2014年12月16日至2014年12月21日
2014年12月22日至2014年12月28日
2014年12月29日至2015年1月4日
2015年1月5日至2015年1月11日
2015年1月12日至2015年1月15日
有类似的解决方案
Get all week start date and end date within a date range in php
但这在几年之间不起作用,它给出了不正确的每周范围。
答案 0 :(得分:1)
尝试使用此代码
$p = new DatePeriod(
new DateTime('2014-16-12'),
new DateInterval('P1W'),
new DateTime('2015-15-01')
);
$dates=array();
foreach ($p as $w) {
$date_week= $w->format('Y-m-d');
$date_week_7= strtotime($date_week);
$dates[] =date('Y-m-d',strtotime("+7 day", $date_week_7));
}
$ dates数组将包含日期之间的所有工作日