Bienvenidos sean a este post, hoy veremos una funcion de PHP.
Esta funcion nos permite formatear una fecha a nuestra necesidad. Esto en base a los parámetros formateadores que le informemos. Pasemos a ver como es su sintaxis:
date_format(objeto, formateadores);
El primer argumento será el objeto DateTime que formatearemos para mostrar su salida. El segundo parámetro serán los distintos formateadores para mostrarlo a nuestra necesidad. Antes de comentar un ejemplo, veamos los formateadores que tenemos disponibles:
| 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 |
| N | Representación numérica ISO-8601 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 |
| W | Número de semana del año ISO-8601 |
| 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 |
| L | Informa si es un año bisiesto |
| o | Número del año ISO-8601 |
| 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 |
| B | Hora de Internet de Swatch (000 a 999) |
| 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 |
| I | Identifica si la fecha esta en horario de verano |
| O | Diferencia en horas con Greenwich |
| P | Diferencia en horas:minutos con Greenwich |
| T | Abreviaturas de zona horaria |
| Z | Diferencia horaria en segundos |
| c | La fecha ISO-8601 |
| r | La fecha formateada RFC 2822 |
| U | La fecha en formato UNIX |
A continuación, veremos unas constantes que disponemos:
| Constante | Descripción |
|---|---|
| DATE_ATOM | Fecha atómica |
| DATE_COOKIE | Fecha de Cookie HTTPS |
| DATE_ISO8601 | Fecha ISO-8601 |
| DATE_RFC822 | Fecha RFC-822 |
| DATE_RFC850 | Fecha RFC-850 |
| DATE_RFC1036 | Fecha RFC-1036 |
| DATE_RFC1123 | Fecha RFC-1123 |
| DATE_RFC2822 | Fecha RFC-2822 |
| DATE_RFC3339 | Fecha RFC-3339 |
| DATE_RSS | Fecha RSS |
| DATE_W3C | Fecha del Consejo WWW |
Para entender como funciona, vamos a analizar el siguiente ejemplo:
$fecha = date_create();print_r($fecha);echo date_format($fecha,"Ymd - G:i:s - U - e\n");echo date_format($fecha, DATE_COOKIE) . "\n";
Primero generamos un objeto con la fecha y hora actuales. Lo siguiente es mostrar todos los valores contenidos en el objeto mediante print_r. Simplemente para ver los datos almacenados, para luego usar la función en dos ocasiones. En el primer caso, pasaremos los parametros del año, mes, dia, horas, minutos, segundos, tiempo Unix transcurrido y la zona horaria, respectivamente. También pueden ver que usamos un modificador de escape para la nueva línea y se puede integrar a los formateadores. Podemos integrar cualquiera de los disponibles en el lenguaje. Para el siguiente caso usamos una de las constantes disponibles, para ver como funciona. Veamos como es la salida:
$ php date_format.phpDateTime Object( [date] => 2026-03-20 12:36:19.199577 [timezone_type] => 3 [timezone] => UTC)20260320 - 12:36:19 - 1774010179 - UTCFriday, 20-Mar-2026 12:36:19 UTC$
Si observan, se obtuvo todo lo solicitado. Tanto los datos almacenados en el objeto generado. Luego tenemos nuestro formato personalizado para mostrar el objeto anterior. Y por último, las constantes nos devuelven un formato estandar que pueden ajustarse mejor a la necesidad del momento. Les recomiendo probar con otras para ver las distintas salidas.
En resumen, hoy hemos visto a date_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





