Bienvenidos sean a este post, hoy veremos una función de PHP.
Esta función nos pemite crear una nueva fecha completa desde un formato de fecha. Pasemos a ver como es su sintaxis:
date_create_from_format(formato, fecha, zona_horaria);
El primer parámetro será el formato que utilizaremos para crear nuestra fecha. El segundo será la fecha que crearemos y se aplicará al formato anterior. Estos dos son obligatorios pero el tercero es opcional. Este último, es para indicar la zona horaria. A continuación les dejó una lista con los formateadores que podemos utilizar:
| Formateador | Descripción |
|---|---|
| d | Fecha del día (01 a 31) |
| D | Nombre abreviado del día |
| j | idem a d pero sin los ceros al inicio (1 a 31) |
| l | Nombre completo del día |
| S | Sufijo ingles del día del mes |
| w | Representación numérica del día (diferente a N) |
| z | Día del año |
| F | Nombre completo del mes |
| m | Representación numérica del mes |
| M | Nombre abreviado del mes |
| n | Representación numérica del mes |
| t | Número de días de un mes informado |
| Y | Representación de cuatro dígitos del año |
| y | Representación de dos dígitos del año |
| a | am / pm |
| A | AM / PM |
| g | Formato de 12 horas (1 a 12) |
| G | Formato de 24 horas (0 a 23) |
| h | Formato de 12 horas (01 a 12) |
| H | Formato de 24 horas (00 a 23) |
| i | Minutos (00 a 59) |
| s | Segundos (00 a 59) |
| u | Microsegundos |
| e | Identificador de zona horaria |
| O | Diferencia en horas con Greenwich |
| P | Diferencia en horas:minutos con Greenwich |
| T | Abreviaturas de zona horaria |
| U | La fecha en formato UNIX |
| # | Es la representación de un símbolo separador |
| ? | Un byte al azar |
| * | Bytes al azar hasta el próximo separador/dígito |
| ! | Restea todos los campos a tiempo Unix |
| | | Restea todos los campos a tiempo Unix sino fueron analizados |
| + | Si están presentes, los datos finales en la cadena provocarán una advertencia, no un error. |
Para entender como funciona, vamos a analizar el siguiente ejemplo:
$fecha=date_create_from_format("d#m#Y","22-10-1976");print_r($fecha);$zona = timezone_open("America/Argentina/Cordoba");$fecha=date_create_from_format("d-m-Y","22-10-2026",$zona);print_r($fecha);
La primer línea será para crear una fecha con la función. El formato que usaremos es de día, mes y año. Para luego pasar una fecha, lo siguiente es mostrar la fecha mediante print_r. Esto nos mostrará los valores almacenados en el objeto creado. La siguiente línea es una variable donde almacenaremos una nueva zona horaria de tipo DateTimeZone, la cual generamos con timezone_open. Las siguientes dos líneas vuelven a hacer lo que mencionamos anteriormente pero ahora agregamos la zona horaria que generamos anteriormente. Con todo esto comentado, veamos como es la salida:
$ php date_from_format.phpDateTime Object( [date] => 1976-10-22 17:26:19.000000 [timezone_type] => 3 [timezone] => UTC)DateTime Object( [date] => 2026-10-22 14:26:19.000000 [timezone_type] => 3 [timezone] => America/Argentina/Cordoba)$
En la salida podemos ver como se generaron las fechas informadas y pudimos manipularlas con date_format pero con la curiosidad de la zona horaria. Donde si no la informamos toma automáticamente a UTC.
En resumen, hoy hemos visto a date_create_from_format, que es, para que sirve, como se utiliza, los parámetros que podemos utilizar y un ejemplo simple para ver como trabaja. Espero les haya sido de utilidad, les dejo algunas de mis redes sociales para seguirme o recibir una notificacion cada vez que subo un nuevo post:


Donación
Es para mantenimento del sitio, gracias!
$1.50





