CloudCastle Clock API

OffsetClock
in package
implements ClockInterface

FinalYes

Декоратор-смещение: время внутренних часов ± фиксированный сдвиг.

Удобен для симуляции «будущего» и «прошлого» относительно любых часов: например, проверить поведение системы «завтра», не трогая системное время.

Table of Contents

Interfaces

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

Methods

__construct()  : mixed
Обернуть часы со смещением.
aheadBy()  : self
Смещение в будущее на заданное число секунд.
behindBy()  : self
Смещение в прошлое на заданное число секунд.
freeze()  : FrozenClock
Снимок текущего момента в замороженные часы.
microtime()  : float
Unix-момент с микросекундами со смещением.
now()  : DateTimeImmutable
Момент внутренних часов со смещением.
timestamp()  : int
Unix-timestamp со смещением, без создания объектов даты.
timezone()  : DateTimeZone
Таймзона выдачи: переопределённая либо зона внутренних часов.
withTimezone()  : static
Тот же сдвиг над теми же внутренними часами, но в другой таймзоне.

Methods

__construct()

Обернуть часы со смещением.

public __construct(ClockInterface $inner, DateInterval|float $offset[, DateTimeZone|non-empty-string|null $timezone = null ]) : mixed
Parameters
$inner : ClockInterface

декорируемые часы

$offset : DateInterval|float

смещение: интервал либо секунды, знак любой

$timezone : DateTimeZone|non-empty-string|null = null

таймзона выдачи; null — зона внутренних часов

Tags
throws
InvalidClockValueException

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

aheadBy()

Смещение в будущее на заданное число секунд.

public static aheadBy(ClockInterface $inner, DateInterval|float $offset) : self
Parameters
$inner : ClockInterface

исходные часы

$offset : DateInterval|float

величина смещения (интервал или секунды)

Return values
self —

часы, сдвинутые в будущее

behindBy()

Смещение в прошлое на заданное число секунд.

public static behindBy(ClockInterface $inner, DateInterval|float $offset) : self
Parameters
$inner : ClockInterface

исходные часы

$offset : DateInterval|float

величина смещения (интервал или секунды)

Return values
self —

часы, сдвинутые в прошлое

freeze()

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

public freeze() : FrozenClock
Attributes
#[Override]
Return values
FrozenClock —

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

microtime()

Unix-момент с микросекундами со смещением.

public microtime() : float
Attributes
#[Override]
Return values
float —

Unix-момент с микросекундами со смещением

now()

Момент внутренних часов со смещением.

public now() : DateTimeImmutable
Attributes
#[Override]
Return values
DateTimeImmutable —

Момент внутренних часов со смещением

timestamp()

Unix-timestamp со смещением, без создания объектов даты.

public timestamp() : int
Attributes
#[Override]
Return values
int —

Unix-timestamp со смещением, без создания объектов даты

timezone()

Таймзона выдачи: переопределённая либо зона внутренних часов.

public timezone() : DateTimeZone
Attributes
#[Override]
Return values
DateTimeZone —

Таймзона выдачи: переопределённая либо зона внутренних часов

withTimezone()

Тот же сдвиг над теми же внутренними часами, но в другой таймзоне.

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

Связь с внутренними часами сохраняется: если они управляемые, их дальнейшие сдвиги видны и новому декоратору.

Parameters
$timezone : DateTimeZone|non-empty-string

объект или идентификатор таймзоны

Tags
throws
InvalidClockValueException

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

Attributes
#[Override]
Return values
static
On this page

Search results