public function getEvents($timeRange = null) { if ($timeRange === null) { $timeRange = new TimeRange(time()); } $dayOfTheWeek = date('w', $timeRange->get_start()); $events = array(); foreach ($this->dailyHours[$dayOfTheWeek] as $event) { if ($event->overlaps($timeRange)) { $events[] = $event; } } return $events; }
public static function formatDateRange(TimeRange $range, $dateStyle, $timeStyle) { $string = ''; if ($range instanceof DayRange) { $timeStyle = self::NO_STYLE; } $string = self::formatDate($range->get_start(), $dateStyle, $timeStyle); if ($range->get_end() && $range->get_end() != $range->get_start()) { if (date('Ymd', $range->get_start()) == date('Ymd', $range->get_end())) { $dateStyle = self::NO_STYLE; } if ($dateStyle != self::NO_STYLE || $timeStyle != self::NO_STYLE) { $string .= ($dateStyle ? ' - ' : '-') . self::formatDate($range->get_end(), $dateStyle, $timeStyle); } } return $string; }
public function overlaps(TimeRange $range) { if ($range->get_start() >= $this->end) { return FALSE; } elseif ($range->get_end() <= $this->start) { return FALSE; } else { return TRUE; } }
public function setRange(TimeRange $range) { $this->range = $range; $this->starttime = $range->get_start(); }