/** * @param DateTime $date * @return bool|DateTime */ public function nextOccurrence(DateTime $date) { if ($date < $this->from) { return $this->from; } $current = clone $this->from; while ($current->add($this->interval) <= $date) { } if ($this->to->includes($current)) { return $current; } return false; }
/** * AfterOccurrences constructor. * * @param AbstractSchedule $repeat * @param int $occurrences */ public function __construct(AbstractSchedule $repeat, $occurrences) { parent::__construct($repeat); $this->occurrences = $occurrences; }
/** * AfterOccurrences constructor. * * @param AbstractSchedule $repeat * @param DateTime $date */ public function __construct(AbstractSchedule $repeat, DateTime $date) { parent::__construct($repeat); $this->date = $date; }