kuria/clock

Provides access to current date and time that can be mocked for testing purposes

v1.0.0 2018-09-16 21:53 UTC

This package is auto-updated.

Last update: 2024-03-22 16:44:17 UTC


README

Provides access to current date and time that can be mocked for testing purposes.

https://travis-ci.com/kuria/clock.svg?branch=master

Contents

Requirements

  • PHP 7.1+

Usage

The Kuria\Clock\Clock class provides access to current date and time.

Getting current time

  • Clock::time(): int
    • get the current UNIX timestamp
  • Clock::microtime(): float
    • get the current UNIX timestamp with microsecond precision
  • Clock::dateTime(?\DateTimeZone $timezone = null): \DateTime
    • get the current date-time
    • uses default time zone if not specified
  • Clock::dateTimeImmutable(?\DateTimeZone $timezone = null): \DateTimeImmutable
    • get the current date-time as an immutable instance
    • uses default time zone if not specified

Overriding current time

  • Clock::override($now): void
    • override the current time
    • $now can be an UNIX timestamp or an instance of DateTimeInterface
    • $now can include microseconds
    • this change only affects methods of the Clock class
  • Clock::isOverridden(): bool
    • see if the current time is currently overridden
  • Clock::resume(): void
    • resume normal operation after the time has been overridden
    • if the time is not currently overridden, this method does nothing

Note

Time overriding is intended only for testing purposes.