PHP: Получить все даты в неделях на основе указанной даты - PullRequest
0 голосов
/ 09 ноября 2018

Привет, у меня есть этот код, который получит дни недели с указанной даты

<?php
$items = array();
// set current date
$datee = '11/01/2018';
// parse about any English textual datetime description into a Unix timestamp 
$ts = strtotime($datee);
// calculate the number of days since Monday
$dow = date('w', $ts);
$offset = $dow - 1;
if ($offset < 0) {
    $offset = 6;
}
// calculate timestamp for the Monday
$ts = $ts - $offset*86400;
// loop from Monday till Sunday 
for ($i = 0; $i < 7; $i++, $ts += 86400){
    if($i==0){
        $sunday = date("m/d/Y l", $ts);
    }else if($i==5){
        $saturday = date("m/d/Y l", $ts) . "\n";
    }
}
echo $saturday;
echo $sunday;
?>

Этот код начинается в понедельник и заканчивается в следующее воскресенье. Но я пытаюсь добиться, чтобы начало в воскресенье, а затем конец в воскресенье, мои ожидаемые даты должны быть:

10/28/18 (воскресенье) и 11/03/18 (суббота)

что я должен изменить здесь?

1 Ответ

0 голосов
/ 14 декабря 2018

Измените $offset = $dow - 1;, где 1 представляет 2-й день недели с понедельника на $offset = $dow - 0;, потому что воскресенье - 1-й день недели, возвращаемый функцией date (), затем измените комментарии с понедельника на воскресенье, и т.д. 86400 представляет количество секунд в одном дне (24 ч * 60 м * 60 с).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...