DateTimeImmutable::__construct
date_create_immutable
Возвращает новый объект DateTimeImmutable
&reftitle.description;
&style.oop;
public DateTimeImmutable::__construct
stringdatetime"now"
DateTimeZonenulltimezone&null;
&style.procedural;
DateTimeImmutablefalsedate_create_immutable
stringdatetime"now"
DateTimeZonenulltimezone&null;
Функция возвращает новый объект DateTimeImmutable.
&reftitle.parameters;
datetime
&date.formats.parameter;
Для получения текущего времени
в параметр timezone передают строку "now".
timezone
Объект DateTimeZone,
которым представляется часовой пояс параметра datetime.
Функция использует текущий часовой пояс,
если параметр timezone опустили или значение аргумента равно значению &null;.
Функция проигнорирует значение аргумента timezone
и текущий часовой пояс,
если в аргументе datetime передали или метку времени эпохи Unix
наподобие @946684800), или указали часовой пояс
наподобие 2010-01-28T15:00:00+02:00
или 2010-07-05T06:00:00Z.
&reftitle.returnvalues;
Функция возвращает новый экземпляр даты и времени DateTimeImmutable.
&reftitle.errors;
При передаче строки с недопустимой датой и временем
функция выбросит исключение DateMalformedStringException.
До PHP 8.3 выбрасывалось исключение Exception.
&reftitle.changelog;
&Version;
&Description;
8.3.0
При передаче строки с недопустимой датой и временем функция теперь
выбрасывает исключение
DateMalformedStringException
вместо исключения Exception.
7.1.0
Микросекунды теперь заполняются фактическим значением, а не значением '00000'.
&reftitle.examples;
Пример создания объекта даты и времени методом DateTimeImmutable::__construct
&style.oop;
getMessage();
exit(1);
}
echo $date->format('Y-m-d');
]]>
&example.outputs;
&style.procedural;
&example.outputs;
Тонкости работы метода DateTimeImmutable::__construct
format('Y-m-d H:i:sP') . "\n";
// Дата и время в заданном часовом поясе
$date = new DateTimeImmutable('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
// Текущая дата и время в часовом поясе по умолчанию для PHP-скриптов
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:sP') . "\n";
// Текущая дата и время в заданном часовом поясе
$date = new DateTimeImmutable('now', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
// Передача метки времени эпохи Unix. Обратите внимание, что результат будет в часовом поясе UTC
$date = new DateTimeImmutable('@946684800');
echo $date->format('Y-m-d H:i:sP') . "\n";
// Несуществующие значения перетекают
$date = new DateTimeImmutable('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
]]>
&example.outputs.similar;
Переполнение дат обнаруживают путём проверки предупреждений
методом DateTimeImmutable::getLastErrors.
Пример изменения начального часового пояса
setTimezone($timeZone);
echo $time->format('Y/m/d H:i:s e'), "\n";
]]>
&example.outputs.similar;
Пример с датой и временем в относительном формате
format('Y/m/d H:i:s'), "\n";
]]>
&example.outputs.similar;