47 lines
1.7 KiB
Markdown
47 lines
1.7 KiB
Markdown
|
|
# Clock
|
||
|
|
|
||
|
|
A PHP 7.0 compatible clock abstraction.
|
||
|
|
|
||
|
|
[](https://packagist.org/packages/kreait/clock)
|
||
|
|
[]()
|
||
|
|
[](https://packagist.org/packages/kreait/clock/stats)
|
||
|
|
[](https://packagist.org/packages/kreait/clock/stats)
|
||
|
|
[](https://github.com/kreait/clock-php/actions/workflows/tests.yml)
|
||
|
|
[](https://discord.gg/Yacm7unBsr)
|
||
|
|
|
||
|
|
## Installation
|
||
|
|
|
||
|
|
```bash
|
||
|
|
composer require kreait/clock
|
||
|
|
```
|
||
|
|
|
||
|
|
## Basic usage
|
||
|
|
|
||
|
|
```php
|
||
|
|
<?php
|
||
|
|
|
||
|
|
require 'vendor/autoload.php';
|
||
|
|
|
||
|
|
use Kreait\Clock\FrozenClock;
|
||
|
|
use Kreait\Clock\SystemClock;
|
||
|
|
|
||
|
|
$systemClock = new SystemClock(new DateTimeZone('UTC'));
|
||
|
|
var_dump($systemClock->now());
|
||
|
|
|
||
|
|
$frozenClock = new FrozenClock(new DateTimeImmutable('2019-08-20 10:41:53'));
|
||
|
|
var_dump($frozenClock->now());
|
||
|
|
|
||
|
|
$frozenClock->setTo(new DateTimeImmutable('2019-08-19 19:19:19'));
|
||
|
|
var_dump($frozenClock->now());
|
||
|
|
```
|
||
|
|
|
||
|
|
## Credits
|
||
|
|
|
||
|
|
This project exists because [lcobucci/clock](https://github.com/lcobucci/clock) (rightfully)
|
||
|
|
doesn't support PHP 7.0 anymore, but we need a clock in [kreait/firebase-php 4.x](https://github.com/kreait/firebase-php)
|
||
|
|
and [kreait/firebase-tokens 1.x](https://github.com/kreait/firebase-tokens-php) for backwards compatibility.
|
||
|
|
|
||
|
|
## License
|
||
|
|
|
||
|
|
The MIT License (MIT). Please see [License File](LICENSE) for more information.
|