symfony/clock

Decouples applications from the system clock

PHP

435

126 commits

updated Oct 14, 2026

See the code

README

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();

This package is looking for a backer.

Help Symfony by sponsoring its development!

Resources

clock
component
php
psr20
symfony
symfony-component
time

symfony/clock

Decouples applications from the system clock

PHP

435

126 commits

updated Oct 14, 2026

See the code

README

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();

This package is looking for a backer.

Help Symfony by sponsoring its development!

Resources

clock
component
php
psr20
symfony
symfony-component
time

Significant stargazers

Andreas Möller

660 followers · starred Sep 2024

Oskar Stark

327 followers · starred Dec 2023

Tom Herrmann

389 followers · starred Jun 2024

Colin O'Dell

432 followers · starred Jul 2022