https://github.com/navarr/periodically-advancing-clock
An implementation of PSR-20 that advances with each call
https://github.com/navarr/periodically-advancing-clock
Last synced: 7 months ago
JSON representation
An implementation of PSR-20 that advances with each call
- Host: GitHub
- URL: https://github.com/navarr/periodically-advancing-clock
- Owner: navarr
- License: mit
- Created: 2021-08-29T02:57:30.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2022-11-26T19:00:41.000Z (over 3 years ago)
- Last Synced: 2024-12-29T06:22:24.161Z (over 1 year ago)
- Language: PHP
- Size: 13.7 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Periodically Advancing Clock (PSR-20)
[](https://packagist.org/packages/navarr/periodically-advancing-clock)
[](https://packagist.org/packages/navarr/periodically-advancing-clock)
[](https://packagist.org/packages/navarr/periodically-advancing-clock)
[](https://packagist.org/packages/navarr/periodically-advancing-clock)


[](https://dashboard.stryker-mutator.io/reports/github.com/navarr/periodically-advancing-clock/main)
This is an implementation of PSR-20 that provides a clock that advances one defined period with each call of `->now()`
## Installation
composer require navarr/periodically-advancing-clock:^1
## Usage
```php
use DateInterval;
use DateTimeImmutable;
use Navarr\PeriodicAdvancement\AdvancingClock;
// ...
$date = new DateTimeImmutable('2021-02-20');
$period = new DateInterval('P1M');
$clock = new SpecificTime(startDate: $date, period: $period);
// 2021-02-20
echo $clock->now()->format('Y-m-d');
// 2021-03-20
echo $clock->now()->format('Y-m-d');
```