/** * @param \DateTimeImmutable $date * @param Time|null $timeStart * @param Time|null $timeEnd * @throws InvalidArgumentValidationException */ public function __construct(\DateTimeImmutable $date, Time $timeStart = null, Time $timeEnd = null) { Assertion::timeRange(Time::fromString(self::START_TIME_DAY), $timeStart, $timeEnd); $this->date = $date; $this->timeStart = $timeStart; $this->timeEnd = $timeEnd; }