An open API service indexing awesome lists of open source software.

https://github.com/chrisharrison/clock

A PHP 7 clock interface.
https://github.com/chrisharrison/clock

clock dependency-injection ioc php php7

Last synced: about 1 year ago
JSON representation

A PHP 7 clock interface.

Awesome Lists containing this project

README

          

# clock

A PHP 7 clock interface.

[![Build Status](https://travis-ci.org/chrisharrison/clock.svg)](https://travis-ci.org/chrisharrison/clock)
[![Version](https://img.shields.io/packagist/v/chrisharrison/clock.svg)](https://packagist.org/packages/chrisharrison/clock)

## Installation ##

Through Composer, obviously:

```
composer require chrisharrison/clock
```

## Examples ##

### Frozen clock (useful for testing) ###

```php
$frozenClock = new \ChrisHarrison\Clock\FrozenClock(new \DateTime('1988-05-01 16:00:00'));
echo $frozenClock->now()->format('Y-m-d H:i:s');
echo $frozenClock->now()->format('Y-m-d H:i:s');
echo $frozenClock->now()->format('Y-m-d H:i:s');
```

Outputs:
```
1988-05-01 16:00:00
1988-05-01 16:00:00
1988-05-01 16:00:00
```

### System clock (has a hard dependency on the underlying operating system's clock) ###

```php
$systemClock = new \ChrisHarrison\Clock\SystemClock;
echo $systemClock->now()->format('Y-m-d H:i:s');
echo $systemClock->now()->format('Y-m-d H:i:s');
echo $systemClock->now()->format('Y-m-d H:i:s');
```

Outputs:
```
2017-10-01 20:43:22
2017-10-01 20:43:23
2017-10-01 20:43:24
```