OffsetClock
in package
implements
ClockInterface
Декоратор-смещение: время внутренних часов ± фиксированный сдвиг.
Удобен для симуляции «будущего» и «прошлого» относительно любых часов: например, проверить поведение системы «завтра», не трогая системное время.
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
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
Attributes
- #[Override]