/** * @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; }
/** * @param int $hours * @param int $minutes * @return Time * @throws InvalidArgumentException */ public static function fromValues($hours, $minutes) { Assertion::range($hours, 0, 23); Assertion::range($minutes, 0, 59); $time = new Time(); $time->hours = $hours; $time->minutes = $minutes; return $time; }