symfony / clock
Decouples applications from the system clock
Fund package maintenance!
fabpot
Tidelift
symfony.com/sponsor
Requires
- php: >=8.1
- psr/clock: ^1.0
Provides
This package is auto-updated.
Last update: 2023-05-30 19:47:18 UTC
README
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();