Saltar al contenido

Función date_create_from_format de PHP: Sintaxis y ejemplos

Si necesitas crear un objeto de fecha de PHP a partir de una cadena con un formato no estándar, puedes usar la función date_create_from_format. Esta función analiza una cadena de fecha según un formato especificado y devuelve un objeto DateTime que representa la fecha analizada.

Sintaxis

La sintaxis de la función date_create_from_format es:

La sintaxis de la función date_create_from_format en PHP

php
date_create_from_format ( string $format , string $time [, DateTimeZone $timezone ] ) : DateTime|false

El parámetro format especifica el formato de la cadena de fecha, utilizando los mismos caracteres de formato que la función date. Por ejemplo, la cadena de formato "Y-m-d H:i:s" coincide con una cadena de fecha como "2023-03-02 17:30:45".

El parámetro time especifica la cadena de fecha que se va a analizar.

El parámetro opcional timezone especifica la zona horaria de la fecha analizada. Si no se especifica, se utilizará la zona horaria predeterminada establecida por la función date_default_timezone_set.

La función devuelve un objeto DateTime que representa la fecha analizada, o false si la cadena de fecha no pudo ser analizada.

Ejemplos

A continuación se muestran algunos ejemplos de uso de la función date_create_from_format:

Ejemplo de uso de la función PHP date_create_from_format

php
<?php

$date = date_create_from_format('Y-m-d H:i:s', '2023-03-02 17:30:45');
echo $date->format('Y-m-d H:i:s'); // Output: 2023-03-02 17:30:45

En este ejemplo, la función date_create_from_format analiza la cadena de fecha "2023-03-02 17:30:45" utilizando la cadena de formato "Y-m-d H:i:s", y devuelve un objeto DateTime que representa la fecha. El método format se utiliza para mostrar la fecha en el mismo formato que la cadena de entrada.

¿Cómo usar la función PHP date_create_from_format?

php
<?php

$date = date_create_from_format('j-M-Y', '15-Feb-2023');
echo $date->format('Y-m-d'); // Output: 2023-02-15

En este ejemplo, la función date_create_from_format analiza la cadena de fecha "15-Feb-2023" utilizando la cadena de formato "j-M-Y", y devuelve un objeto DateTime que representa la fecha. El método format se utiliza para mostrar la fecha en el formato "Y-m-d", que es diferente de la cadena de entrada.

Comparación con otras funciones de fecha

La función date_create_from_format es similar a la función strtotime, que también analiza una cadena de fecha según un formato especificado. Sin embargo, strtotime devuelve una marca de tiempo Unix, que es un entero que representa el número de segundos transcurridos desde el 1 de enero de 1970 00:00:00 UTC, mientras que date_create_from_format devuelve un objeto DateTime.

La función date_parse_from_format es otra función que puede analizar una cadena de fecha según un formato especificado. Sin embargo, date_parse_from_format devuelve un array que contiene los componentes de la fecha analizada, como año, mes, día, hora, minuto y segundo, mientras que date_create_from_format devuelve un objeto DateTime que encapsula la fecha analizada.

Conclusión

En resumen, la función date_create_from_format es una función útil de PHP que puede analizar una cadena de fecha según un formato especificado y devolver un objeto DateTime que representa la fecha analizada. Al utilizar esta función, puedes convertir cadenas de fecha no estándar en objetos de fecha estándar que pueden manipularse y formatearse utilizando otras funciones de fecha de PHP.

Práctica

¿Qué hace la función date_create_from_format en PHP?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.