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; Пример создания объекта даты и времени методом <function>DateTimeImmutable::__construct</function> &style.oop; getMessage(); exit(1); } echo $date->format('Y-m-d'); ]]> &example.outputs; &style.procedural; &example.outputs; Тонкости работы метода <function>DateTimeImmutable::__construct</function> 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;