symfony / clock
Decouples applications from the system clock
Fund package maintenance!
fabpot
Tidelift
symfony.com/sponsor
Requires
- php: >=8.2
- psr/clock: ^1.0
- symfony/polyfill-php83: ^1.28
Provides
This package is auto-updated.
Last update: 2023-11-29 10:57:03 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();