Lenguaje PHP

Nuevo formato de Fecha PHP [Ejemplo completo]

Format new date PHP

Nuevo formato de Fecha PHP. Si deseamos personalizar una fecha dada, ya sea una variable o si bien extraída de la base de datos. Podemos, aplicar estos 5 ejemplos que pondré en este artículo para lograr el objetivo.

¿Cómo cambiar el formato de fecha en PHP?

Para convertir el formato de fecha y hora PHP proporciona la función strtotime() y date(). Cambiamos el formato de fecha de un formato a otro.

Por ejemplo, hemos almacenado la fecha en formato MM-DD-AAAA en una variable, y queremos cambiarla al formato DD-MM-AAAA.

Podemos lograr esta conversión usando la función strtotime() y date(). Estas son las funciones incorporadas de PHP. Strtotime() convierte primero la fecha en segundos y, a continuación, se utiliza la función date() para reconstruir la fecha en cualquier formato.

A continuación, se dan algunos ejemplos para convertir el formato de fecha.

Nuevo formato de Fecha PHP

En las siguientes líneas mostraremos 5 formas para convertir la fecha de manera instantánea.

Cambiar AAAA-MM-DD a DD-MM-AAAA

En el siguiente ejemplo, tenemos la fecha 2021-07-18 en formato AAAA-MM-DD, y la convertiremos a 18-07-2021 en formato DD-MM-AAAA.

A) Utilice strtotime() y date():

$originalDate = "2021-07-18";
$newDate = date("d-m-Y", strtotime($originalDate));

Salida

//18-07-2021

(Consulte la documentación de strtotime y date en el sitio PHP).

B) Clase DateTime

Hay que tener en cuenta que la solución fue rápida. Sin embargo, para conversiones más extensas, realmente debería usar la clase DateTime para analizar y formatear las fechas ya sean en variables o extraídas desde la base de datos MySQL.

$dateString = "2021-07-18";
$myDateTime = DateTime::createFromFormat('Y-m-d', $dateString);
$newDateString = $myDateTime->format('d-m-Y');

C) Función date_format PHP

Esta es otra opción que se puede usar para convertir fechas personalizadas en las salidas finales.

$dateString = "2021-08-09";
$newDateString = date_format(date_create_from_format('Y-m-d', $dateString), 'd-m-Y');

Primero le estamos dando el formato a la variable llamado $dateString. Luego le está diciendo el formato en el que quiere que esté $newDateString. Por lo tanto, esta variable tenemos que imprimir en el navegador.

Si el formato de origen siempre es «Y-m-d» (aaaa-mm-dd), simplemente use DateTime:

<?php
$fecha= '2021-07-18';
$date = new DateTime($fecha);
echo $date->format('d.m.Y'); // 18.07.2021
echo $date->format('d-m-Y'); // 18-07-2021
?>

D) Usando función IMPLODE

Otra alternativa es usando array_reverse para invertir la cadena y conjuntamente con la función IMPLODE del PHP. Veamos un ejemplo completo.

<?php
$fecha= '2021-07-18';
echo implode('-', array_reverse(explode('-', $fecha)));
?>

E) Función EXPLODE PHP

También otra posibilidad es usar esta función para dividir una cadena de fecha y ordenarlo de manera inversa, según las partes divididas, a continuación, un ejemplo completo.

<?php
$oldDate = '2021-07-18';
$arr = explode('-', $oldDate);
echo $newDate = $arr[2].'-'.$arr[1].'-'.$arr[0];
?>

Formatear fechas con PHP: Conclusión

Si estamos trabajando con base de datos es recomendable a la hora de guardar la información usar el (type=»date») para que el input sea de fecha y se guarde correctamente en MySQL.

Por otro lado, si deseamos visualizar la fecha de diferentes formas, en este artículo hemos visto 5 formas de formatear fechas con PHP.

Espero que esta breve explicación les ayude en sus proyectos web.

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

2 comentarios

  1. hola profesor, tengo una situacion con la fecha, envio los datos del formulario con formato date el campo fecha y al recuperarlo con post me devuelve una cadena vacia, a q se debe esto como solucionarlo? muchas gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad