p2 project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chuan 2eab349994 vendor build 10 months ago
..
Resources vendor build 10 months ago
Test vendor build 10 months ago
CHANGELOG.md vendor build 10 months ago
Clock.php vendor build 10 months ago
ClockAwareTrait.php vendor build 10 months ago
ClockInterface.php vendor build 10 months ago
DatePoint.php vendor build 10 months ago
LICENSE vendor build 10 months ago
MockClock.php vendor build 10 months ago
MonotonicClock.php vendor build 10 months ago
NativeClock.php vendor build 10 months ago
README.md vendor build 10 months ago
composer.json vendor build 10 months ago

README.md

Clock Component

Symfony Clock decouples applications from the system clock.

Getting Started

composer require symfony/clock
use Symfony\Component\Clock\NativeClock;
use Symfony\Component\Clock\ClockInterface;

class MyClockSensitiveClass
{
    public function __construct(
        private ClockInterface $clock,
    ) {
        // Only if you need to force a timezone:
        //$this->clock = $clock->withTimeZone('UTC');
    }

    public function doSomething()
    {
        $now = $this->clock->now();
        // [...] do something with $now, which is a \DateTimeImmutable object

        $this->clock->sleep(2.5); // Pause execution for 2.5 seconds
    }
}

$clock = new NativeClock();
$service = new MyClockSensitiveClass($clock);
$service->doSomething();

Resources