SystemClock
in package
implements
SleepableClockInterface
Системные часы — продакшн-реализация PSR-20.
Отдают реальное время операционной системы. Горячий путь now() максимально
дешёв: при системной таймзоне объект зоны не создаётся и не передаётся вовсе,
timestamp()/microtime() не создают объектов даты вообще.
Table of Contents
Interfaces
- SleepableClockInterface
- Часы, умеющие «спать» до нужного момента.
Methods
- freeze() : FrozenClock
- Снимок текущего момента в замороженные часы.
- fromTimezone() : self
- Часы в заданной таймзоне.
- microtime() : float
- Текущий момент в секундах с микросекундами без создания объекта даты.
- now() : DateTimeImmutable
- Текущий системный момент.
- sleep() : void
- Реальная блокировка процесса на заданное число секунд.
- sleepUntil() : void
- Блокировка процесса до указанного момента; прошедший момент — мгновенный возврат.
- system() : self
- Часы в системной таймзоне процесса.
- timestamp() : int
- Текущий unix-timestamp без создания объекта даты.
- timezone() : DateTimeZone
- Таймзона часов.
- utc() : self
- Часы в UTC; экземпляр кэшируется.
- withTimezone() : static
- Копия часов с другой таймзоной.
Methods
freeze()
Снимок текущего момента в замороженные часы.
public
freeze() : FrozenClock
Attributes
- #[Override]
Return values
FrozenClock —Снимок текущего момента в замороженные часы
fromTimezone()
Часы в заданной таймзоне.
public
static fromTimezone(DateTimeZone|non-empty-string $timezone) : self
Parameters
- $timezone : DateTimeZone|non-empty-string
-
объект или идентификатор таймзоны
Tags
Return values
selfmicrotime()
Текущий момент в секундах с микросекундами без создания объекта даты.
public
microtime() : float
Attributes
- #[Override]
Return values
float —Текущий момент в секундах с микросекундами без создания объекта даты
now()
Текущий системный момент.
public
now() : DateTimeImmutable
Передача готового объекта зоны в 6+ раз быстрее, чем разбор дефолтной зоны при каждом вызове (см. бенчмарки пакета).
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]
system()
Часы в системной таймзоне процесса.
public
static system() : self
Зона фиксируется в момент создания: последующая смена
date_default_timezone_set() на созданные часы не влияет.
Return values
selftimestamp()
Текущий unix-timestamp без создания объекта даты.
public
timestamp() : int
Attributes
- #[Override]
Return values
int —Текущий unix-timestamp без создания объекта даты
timezone()
Таймзона часов.
public
timezone() : DateTimeZone
Attributes
- #[Override]
Return values
DateTimeZone —Таймзона часов
utc()
Часы в UTC; экземпляр кэшируется.
public
static utc() : self
Return values
selfwithTimezone()
Копия часов с другой таймзоной.
public
withTimezone(DateTimeZone|non-empty-string $timezone) : static
Parameters
- $timezone : DateTimeZone|non-empty-string
-
объект или идентификатор таймзоны
Tags
Attributes
- #[Override]