CloudCastle Clock API

ClockInterface extends ClockInterface

Расширенный контракт часов поверх PSR-20.

Любая реализация пакета отдаёт текущий момент как DateTimeImmutable (совместимость с PSR-20) и дополнительно предоставляет дешёвые примитивы: unix-время, микросекундную метку и работу с таймзоной без создания промежуточных объектов.

Table of Contents

Methods

freeze()  : AdjustableClockInterface
Снимок текущего момента: замороженные часы с управляемым временем.
microtime()  : float
Текущий момент в секундах с дробной микросекундной частью.
timestamp()  : int
Текущий unix-timestamp в секундах.
timezone()  : DateTimeZone
Таймзона, в которой часы отдают время.
withTimezone()  : static
Копия часов с другой таймзоной; исходный объект не меняется.

Methods

freeze()

Снимок текущего момента: замороженные часы с управляемым временем.

public freeze() : AdjustableClockInterface

Полезно зафиксировать «сейчас» любых часов — системных, монотонных, декорированных — и дальше детерминированно сдвигать его в тесте.

Return values
AdjustableClockInterface —

Снимок текущего момента: замороженные часы с управляемым временем

microtime()

Текущий момент в секундах с дробной микросекундной частью.

public microtime() : float
Return values
float —

секунды с эпохи Unix (аналог microtime(true))

timestamp()

Текущий unix-timestamp в секундах.

public timestamp() : int

Дешевле, чем now()->getTimestamp(): реализациям разрешено не создавать объект даты вовсе.

Return values
int —

секунды с 1970-01-01T00:00:00Z

timezone()

Таймзона, в которой часы отдают время.

public timezone() : DateTimeZone
Return values
DateTimeZone —

Таймзона, в которой часы отдают время

withTimezone()

Копия часов с другой таймзоной; исходный объект не меняется.

public withTimezone(DateTimeZone|non-empty-string $timezone) : static
Parameters
$timezone : DateTimeZone|non-empty-string

объект или идентификатор таймзоны (например, Europe/Moscow)

Tags
throws
InvalidClockValueException

если идентификатор таймзоны не распознан

Return values
static
On this page

Search results