Получите каждую пятницу, субботу и воскресенье в определенный период времени - PullRequest
1 голос
/ 10 октября 2009

Какой простой способ получить каждую пятницу, субботу и воскресенье между двумя датами, не используя объект datetime из PHP5.0.

Из-за скорости я не хочу проходить каждую дату между 1/1 и 31/12. (на странице я должен рассчитать его как минимум 50 раз :) как часть представления результатов.)

Ответы [ 2 ]

14 голосов
/ 10 октября 2009
$start = strtotime("today"); // your start/end dates here
$end = strtotime("today + 1 years");

$friday = strtotime("friday", $start);
while($friday <= $end) {
    echo "fri=", date("d m Y", $friday), "\n";
    echo "sat=", date("d m Y", strtotime("+1 days", $friday)), "\n";    
    echo "sun=", date("d m Y", strtotime("+2 days", $friday)), "\n\n";    
    $friday = strtotime("+1 weeks", $friday);
} 

, конечно, можно оптимизировать, но вы понимаете,

3 голосов
/ 10 октября 2009

Хорошая новость заключается в том, что вам не нужно проходить каждую дату, поскольку пятница всегда наступает через пять дней после воскресенья!

В любом случае, между 2000AD и 2050AD есть примерно 18000 дней, что означает, что вы можете создать себе отображение Date -> DayOfWeek в течение нескольких минут, которое вы можете использовать в течение следующих нескольких лет.

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