日期对象从星期一开始


Date object start from Monday

我目前使用以下函数将日期范围划分为周,效果很好。唯一的问题是这个星期从星期天开始。有没有办法修改它,让它从周一开始?

    $start = new DateTime('2014-10-01');
    $end = new DateTime('2014-10-31 23:59');
    $interval = new DateInterval('P1D');
    $dateRange = new DatePeriod($start, $interval, $end);
    $weekNumber = 1;
    $weeks = array();
    foreach ($dateRange as $date) {
        $weeks[$weekNumber][] = $date->format('Y-m-d');
        if ($date->format('w') == 6) {
            $weekNumber++;
        }
    }
$dow = ($date->format('w') + 6) % 7;

%给出除以7后的余数。因此,$dow将在周一(而不是周日)为0,6将在周日(而不是周六)为0。