phpsoftbox/clock

Clock utilities for PhpSoftBox (PSR-20 + frozen time)

Maintainers

Package info

github.com/phpsoftbox/clock

pkg:composer/phpsoftbox/clock

Statistics

Installs: 20

Dependents: 4

Suggesters: 0

Stars: 0

Open Issues: 0

dev-master 2026-03-05 11:41 UTC

This package is auto-updated.

Last update: 2026-03-05 11:41:33 UTC


README

Минимальный PSR-20 совместимый компонент времени.

Использование

use PhpSoftBox\Clock\Clock;

$now = Clock::now();

Фиксация времени (тесты)

use PhpSoftBox\Clock\Clock;

Clock::freeze(new \DateTimeImmutable('2026-02-27 00:00:00'));
// ... тесты
Clock::reset();

Путешествие во времени (тесты)

use PhpSoftBox\Clock\Clock;

Clock::freeze(new \DateTimeImmutable('2026-02-27 00:00:00'));
Clock::travel(60); // +60 секунд
Clock::travel('+1 hour'); // или строкой
Clock::reset();

DatePoint

DatePoint — value object, реализует DateTimeInterface и создаётся от Clock::now():

use PhpSoftBox\Clock\DatePoint;

$createdAt = new DatePoint();