如何在没有周末的情况下获取日期范围之间的所有日期?



我希望日期范围内的所有日期,但我也想排除周五和周六等范围内的周末。但我希望周末是动态的,这意味着它可以是任何其他一天。

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'),
];
}
}    
} 

这应该可以满足您的需求:

<?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。

最新更新