2016-12-10 2 views
1

У меня есть список недельных логических данных с определенной даты, которая возвращает следующие результаты.Как показать список недели для конкретной даты и недели с воскресенья

12/05/2016 Monday 
12/06/2016 Tuesday 
12/07/2016 Wednesday 
12/08/2016 Thursday 
12/09/2016 Friday 
12/10/2016 Saturday 
12/11/2016 Sunday 

Логика:

// set current date 
$date = '12/08/2016'; 
// parse about any English textual datetime description into a Unix timestamp 
$ts = strtotime($date); 
// 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){ 
    print date("m/d/Y l", $ts) . "\n"; 
    echo "<br>"; 
} 

В настоящее время получение дней от Monday до Sunday, но не знаю, как начать неделю с воскресенья?

ответ

1

Заменить «1» на «0».

$offset = $dow - 0; 
+0

Я заменил на '0' и неделю, показывая« воскресенье », а как насчет других? Как во вторник? –

+0

[ссылка] (http://php.net/manual/en/function.date.php) – Mary

+0

см. Формат «w». «0» означает воскресенье, «1» означает понедельник. Вторник - «2». – Mary