start = $start; } public function getStart() { return $this->start; } public function getRelativeDate() { if (Agenda::isToday($this->getStart())) { return 'i dag'; } if (Agenda::isTomorrow($this->getStart())) { return 'i morgen'; } if (Agenda::isThisWeek($this->getStart()) || $this->getStart()->sub(new DateInterval('P4D'))->getTimestamp() < time()) { return strftime('%A', $this->getStart()->getTimestamp()); } if (Agenda::isNextWeek($this->getStart())) { return 'neste uke'; } if (Agenda::isThisMonth($this->getStart())) { return 'denne måneden'; } return trim(strftime('%e. %B', $this->getStart()->getTimestamp())); } public abstract function getStop(); /* : DateTimeImmutable */ public abstract function getName(); public abstract function getLocation(); public abstract function getOrganiser(); public abstract function getURL(); /* : string */ public abstract function getImageURL(); /* : string */ public abstract function getDescription(); /* : string */ }