public static function weeklyEvent($event, $start, $end) { $weeklyEvents = array(); $period = static::periodDay($event->day_of_week, $start, $end); foreach ($period as $periodFrom) { $periodTo = clone $periodFrom; $periodFrom->add(Calendar::timeInterval($event->time_from)); $periodTo->add(Calendar::timeInterval($event->time_to)); $weeklyEvents[] = array('start' => $periodFrom->format(\DateTime::ISO8601), 'end' => $periodTo->format(\DateTime::ISO8601)); } return $weeklyEvents; }