Получить начало и конец дней для данной недели в PHP

Я пытаюсь получить диапазон недели, используя воскресенье в качестве даты начала, и контрольную дату, скажем$date, но я просто не могу понять это.

Например, если бы у меня была $ date как 2009-05-01, я бы получил 2009-04-26 и 2009-05-02. 2009-05-10 даст 2009-05-10 и 2009-05-16. Мой текущий код выглядит следующим образом (я не могу вспомнить, откуда я его взял, так как я забыл записать URL в моих комментариях):

function x_week_range(&$start_date, &$end_date, $date)
{
    $start_date = '';
    $end_date = '';
    $week = date('W', strtotime($date));
    $week = $week;

    $start_date = $date;

    $i = 0;
    while(date('W', strtotime("-$i day")) >= $week) {
        $start_date = date('Y-m-d', strtotime("-$i day"));
        $i++;
    }

    list($yr, $mo, $da) = explode('-', $start_date);

    $end_date = date('Y-m-d', mktime(0, 0, 0, $mo, $da + 6, $yr));
}

Я понял, что все, что он сделал, это добавил 7 дней к текущей дате. Как бы вы это сделали?

Ответы на вопрос(13)

Ваш ответ на вопрос