clock = $clock; } public static function wrapping(ClockInterface $clock): self { return new self($clock); } public function now(): DateTimeImmutable { return $this->floor($this->clock->now()); } private function floor(DateTimeImmutable $now): DateTimeImmutable { return $now->setTime( (int) $now->format('H'), (int) $now->format('i') ); } }