Как я могу получить все даты между датами без выходных? - PullRequest
0 голосов
/ 28 июня 2018

Я хочу, чтобы все даты датировались в пределах диапазона дат, но я также хочу исключить выходные в этом диапазоне, такие как пятница и суббота. Но я хочу, чтобы выходные были динамичными, то есть, это может быть любой другой день.

for($date = $fromdate; $date->lte($todate); $date->addDay())
             {
                foreach($allweekends as $weekend)
                {
                    if($date->format('l')!=$weekend->weekendDay )
                    {
                        $daterange[]=[

                            'date'=>$date->format('Y-m-d'),
                            'day'=>$date->format('l'),
                        ];
                    }
                }    
            } 

1 Ответ

0 голосов
/ 28 июня 2018

Это должно сделать то, что вам нужно:

<?php

$begin = new DateTime('2018-06-28');
$end = new DateTime('2018-07-02');

for($date = $begin; $date <= $end; $date->modify('+1 day')){
    if (date('N', strtotime($date->format('Y-m-d'))) < 6) {
        $daterange[]=[
            'date'=>$date->format('Y-m-d'),
            'day'=>$date->format('l'),
        ];
    }
}
var_dump($daterange);

?>

Это адаптировано из этого ответа https://stackoverflow.com/a/3207849/4028570.

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