it says the default parameter is 'now'.
but it also uses 'now' when you enter an empty string like '' despite it being a valid datetime format, expected an exception.
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTime::__construct — Конструктор класса DateTime
Этот конструктор похож на конструктор DateTimeImmutable::__construct(), но работает с объектом DateTime. Учтите, что вместо этого класса лучше работать с классом DateTimeImmutable и его функциями.
Возвращает новый объект DateTime.
datetime
Строка даты/времени. Объяснение корректных форматов дано в разделе Форматы даты и времени.
Если используется аргумент $timezone
, то
для получения текущего времени в новом объекте достаточно
передать "now"
в качестве этого аргумента.
timezone
Объект класса DateTimeZone, представляющий
часовой пояс параметра $datetime
.
Если аргумент $timezone
не задан или null
,
будет использован текущий часовой пояс.
Замечание:
Значение аргумента
$timezone
, равно как и текущий часовой пояс не будут учитываться, если в качестве аргумента$datetime
передаётся метка времени UNIX (например,@946684800
) или время, в котором часовой пояс уже содержится (например,2010-01-28T15:00:00+02:00
).
Возвращает созданный объект класса DateTime.
Если будет передана недопустимая строка даты/времени, будет выброшено исключение DateMalformedStringException. До PHP 8.3 выбрасывалось исключение Exception.
Версия | Описание |
---|---|
8.3.0 | Теперь вместо исключения Exception выбрасывается исключение DateMalformedStringException, если передана недопустимая строка. |