Метод createFromFormat класса DateTime
Статический метод createFromFormat класса DateTime позволяет создать объект DateTime из строки, соответствующей указанному формату. Принимает три параметра: формат даты, строку с датой и необязательный объект DateTimeZone. Возвращает объект DateTime или false в случае ошибки.
Синтаксис
DateTime::createFromFormat(
string $format,
string $datetime,
DateTimeZone $timezone = null
): DateTime|false
Пример
Создадим дату из строки в формате день-месяц-год:
<?php
$date = DateTime::createFromFormat('d-m-Y', '15-07-2023');
echo $date->format('Y-m-d');
?>
Результат выполнения кода:
'2023-07-15'
Пример
Создадим дату и время из строки в нестандартном формате:
<?php
$date = DateTime::createFromFormat('Y/m/d H:i', '2023/07/15 14:30');
echo $date->format('d.m.Y H:i:s');
?>
Результат выполнения кода:
'15.07.2023 14:30:00'
Пример
Создадим дату с указанием временной зоны:
<?php
$timezone = new DateTimeZone('Europe/Moscow');
$date = DateTime::createFromFormat('Y-m-d H:i:s', '2023-07-15 14:30:00', $timezone);
echo $date->format('Y-m-d H:i:s e');
?>
Результат выполнения кода:
'2023-07-15 14:30:00 Europe/Moscow'