MonotonicClock
in package
implements
SleepableClockInterface
Монотонные часы на `hrtime()`.
Точка отсчёта фиксируется при создании, дальше время вычисляется от монотонного таймера ядра: перевод системных часов (NTP-коррекция, ручная смена времени) на показания не влияет. Незаменимы для измерения интервалов и таймаутов.
Table of Contents
Interfaces
- SleepableClockInterface
- Часы, умеющие «спать» до нужного момента.
Methods
- __construct() : mixed
- Зафиксировать точку отсчёта в момент создания.
- freeze() : FrozenClock
- Снимок текущего момента в замороженные часы.
- microtime() : float
- Unix-момент с микросекундами: точка отсчёта плюс монотонная дельта.
- now() : DateTimeImmutable
- Текущий момент от монотонного таймера.
- sleep() : void
- Реальная блокировка процесса на заданное число секунд.
- sleepUntil() : void
- Блокировка до указанного момента по монотонной шкале; прошедший момент — мгновенный возврат.
- timestamp() : int
- Unix-timestamp от монотонного таймера.
- timezone() : DateTimeZone
- Таймзона часов.
- withTimezone() : static
- Новые монотонные часы в другой таймзоне (точка отсчёта фиксируется заново).
Methods
__construct()
Зафиксировать точку отсчёта в момент создания.
public
__construct([DateTimeZone|non-empty-string|null $timezone = null ]) : mixed
Parameters
- $timezone : DateTimeZone|non-empty-string|null = null
-
таймзона выдаваемых моментов;
null— системная
Tags
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 —Текущий момент от монотонного таймера
sleep()
Реальная блокировка процесса на заданное число секунд.
public
sleep(float $seconds) : void
Parameters
- $seconds : float
-
неотрицательная длительность паузы
Tags
Attributes
- #[Override]
sleepUntil()
Блокировка до указанного момента по монотонной шкале; прошедший момент — мгновенный возврат.
public
sleepUntil(DateTimeImmutable $moment) : void
Parameters
- $moment : DateTimeImmutable
-
момент, до которого блокируется процесс
Attributes
- #[Override]
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]