Текущий день устанавливаем в 8:00 утра и выводим + 6 дней.
Каждый день начинается с 8:00 и кончается 18:00
$begin = new DateTime("now");
$begin->setTime(08, 00, 00);
$end = new DateTime("now");
$end->setTime(18, 00, 00);
$end = $end->modify("+6 day 1 second");
$interval = new DateInterval('PT1H');
$daterange = new DatePeriod($begin, $interval ,$end);
foreach($daterange as $date){
if( strtotime($date->format("H:i:s")) >= strtotime("08:00:00") &&
strtotime($date->format("H:i:s")) <= strtotime("18:00:00") ) {
echo $date->format("Y-m-d H:i:s") . "<br>";
}
}
Это работает, но как реализовать без условия
if( strtotime($date->format("H:i:s")) >= strtotime("08:00:00") &&
strtotime($date->format("H:i:s")) <= strtotime("18:00:00") )
Полагаю в DateInterval можно задать этот параметр?