Método createFromFormat de la clase DateTime

El método estático createFromFormat de la clase DateTime permite crear un objeto DateTime a partir de una cadena que corresponde al formato especificado. Acepta tres parámetros: el formato de fecha, una cadena con la fecha y un objeto opcional DateTimeZone. Devuelve un objeto DateTime o false en caso de error.

Sintaxis

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

Ejemplo

Creemos una fecha a partir de una cadena en formato día-mes-año:

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

Resultado de ejecutar el código:

php'2023-07-15'

Ejemplo

Creemos una fecha y hora a partir de una cadena en un formato no estándar:

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

Resultado de ejecutar el código:

php'15.07.2023 14:30:00'

Ejemplo

Creemos una fecha especificando la zona horaria:

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

Resultado de ejecutar el código:

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

Ver también

  • el método format,
    que formatea la fecha y hora
  • la función strtotime,
    que convierte una descripción textual de fecha en una marca de tiempo