日期对象从星期一开始

时间:2015-12-10 20:31:38

标签: php date

我目前使用以下功能将日期范围分成几周,效果很好。唯一的问题是周从星期日开始。有没有办法修改它,所以它从星期一开始?

    $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++;
        }
    }

1 个答案:

答案 0 :(得分:0)

$dow = ($date->format('w') + 6) % 7;

%在除以7后给出余数。因此,$dow对于星期一(不是星期日)为0,而6为星期日(不是星期六)。