Метод createFromFormat класса DateTime

Статический метод createFromFormat класса DateTime позволяет создать объект DateTime из строки, соответствующей указанному формату. Принимает три параметра: формат даты, строку с датой и необязательный объект DateTimeZone. Возвращает объект DateTime или false в случае ошибки.

Синтаксис

phpDateTime::createFromFormat(
  string $format,
  string $datetime,
  DateTimeZone $timezone = null
): DateTime|false

Пример

Создадим дату из строки в формате день-месяц-год:

php<?php
  $date = DateTime::createFromFormat('d-m-Y', '15-07-2023');
  echo $date->format('Y-m-d');
?>

Результат выполнения кода:

php'2023-07-15'

Пример

Создадим дату и время из строки в нестандартном формате:

php<?php
  $date = DateTime::createFromFormat('Y/m/d H:i', '2023/07/15 14:30');
  echo $date->format('d.m.Y H:i:s');
?>

Результат выполнения кода:

php'15.07.2023 14:30:00'

Пример

Создадим дату с указанием временной зоны:

php<?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');
?>

Результат выполнения кода:

php'2023-07-15 14:30:00 Europe/Moscow'

Смотрите также

  • метод format,
    который форматирует дату и время
  • функцию strtotime,
    которая преобразует текстовое описание даты в метку времени