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.
|
2 months ago | |
---|---|---|
.. | ||
Resources | 2 months ago | |
Test | 2 months ago | |
CHANGELOG.md | 2 months ago | |
Clock.php | 2 months ago | |
ClockAwareTrait.php | 2 months ago | |
ClockInterface.php | 2 months ago | |
DatePoint.php | 2 months ago | |
LICENSE | 2 months ago | |
MockClock.php | 2 months ago | |
MonotonicClock.php | 2 months ago | |
NativeClock.php | 2 months ago | |
README.md | 2 months ago | |
composer.json | 2 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();