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 Теперь вместо исключения Exception выбрасывается исключение DateMalformedStringException, если передана неверная строка. 7.1.0 Отныне микросекунды заполняются фактическим значением. Не '00000'. &reftitle.examples; Пример использования <function>DateTimeImmutable::__construct</function> &style.oop; getMessage(); exit(1); } echo $date->format('Y-m-d'); ?> ]]> &style.procedural; ]]> &examples.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"; // Текущая дата/время в часовом поясе вашего компьютера. $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; Изменение связанного часового пояса setTimezone($timeZone); echo $time->format('Y/m/d H:i:s'), "\n"; ?> ]]> &example.outputs.similar; Использование относительной строки даты/времени format('Y/m/d H:i:s'), "\n"; ?> ]]> &example.outputs.similar;