spaceonfire / clock
Enhanced DateTime classes and Clock API implementation
Fund package maintenance!
Liberapay
Requires
- php: ^7.4|^8.0
- ext-json: *
This package is auto-updated.
Last update: 2022-06-12 16:26:03 UTC
README
This component provides enhanced DateTime classes and Clock API implementations in PHP.
Install
Via Composer
$ composer require spaceonfire/clock
Usage
DateTime:
use spaceonfire\Clock\DateTimeImmutableValue; $time = DateTimeImmutableValue::now(); // $time = DateTimeImmutableValue::from('2020-02-02 20:22:02'); // $time = DateTimeImmutableValue::from(3 * DateTimeImmutableValue::HOUR); // now + 3 hours \assert($time instanceof \DateTimeImmutable); echo (string)$time; // 2020-02-02 20:22:02 echo \json_encode($time); // 2020-02-02T20:22:02+00:00
Clock:
use spaceonfire\Clock\FrozenClock; use spaceonfire\Clock\SystemClock; $clock = new FrozenClock(SystemClock::fromUTC()); $startedAt = $clock->now(); \sleep(5); $finishedAt = $clock->now(); \assert($startedAt === $finishedAt); $clock->reset();
Change log
Please see CHANGELOG for more information on what has changed recently.
Contributing
Report issues and send Pull Requests in the main spaceonfire repository. Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Credits
License
The MIT License (MIT). Please see License File for more information.