We need to iterate date and time between two predefined time moments with a predefined time step.
For example 30 minutes step
$start = new \DateTime(...); $end = new \DateTime(...); for ($temp=$start; $temp<=$end; $temp->add(new \DateInterval('PT30M'))) {..}
1 day step
for ($temp=$start; $temp<=$end; $temp->add(new \DateInterval('P1D'))) {..}