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;
Пример использования DateTimeImmutable::__construct
&style.oop;
getMessage();
exit(1);
}
echo $date->format('Y-m-d');
?>
]]>
&style.procedural;
]]>
&examples.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";
// Текущая дата/время в часовом поясе вашего компьютера.
$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;