Convertir formato fecha yyyy-mm-dd a dd-mm-yyyy
Convertir formato fecha yyyy-mm-dd a dd-mm-yyyy. En este artículo tratare el tema de formatear una fecha con PHP, ya sea para mostrar resultados de fechas de una base de datos o la inserción de fechas a la base de datos .Convertir una fecha de yyyy-mm-dd => dd-mm-yyyy (pero no en MYSQL); sino directamente desde el script PHP.
¿Es posible esto?
En realidad si y aquí tocaremos distintas formas de hacerlos, veamos ejemplos sencillo para tal inconveniente. En ocasiones para visualizar fechas es recomendable este formato (18-11-2016), pero a la hora de guardar una fecha en la base de datos es recomendable este formato (2016-11-18). Veamos las conversiones.
A) Primera forma:
Utilizando esta función en PHP de yyyy-mm-dd => dd-mm-yyyy
function verfecha($vfecha) { $fch=explode("-",$vfecha); $tfecha=$fch[2]."-".$fch[1]."-".$fch[0]; return $tfecha; } $mifecha ="2016-11-18"; echo verfecha($mifecha); // Imprimira 18-11-2016
Conversión de fecha dd-mm-yyyy => yyyy-mm-dd
function savefecha($vfecha) { $fch=explode("-",$vfecha);$tfecha=$fch[2]."-".$fch[1]."-".$fch[0]; return $tfecha; } $mifecha ="18-11-2016"; echo savefecha($mifecha); // Imprimira 2016-11-18
Convertir formato fecha yyyy-mm-dd => dd-mm-yyyy
B) Segunda Forma
Uso de strtotime() y date():
$originalDate = "2016-11-18"; $newDate = date("d-m-Y", strtotime($originalDate));
Si desea evitar la conversión de strtotime (por ejemplo strtotime no es capaz de analizar su entrada) puede utilizar la siguiente:
$myDateTime = DateTime::createFromFormat('Y-m-d', $dateString); $newDateString = $myDateTime->format('d-m-Y');
o sino el equivalente:
$newDateString = date_format(date_create_from_format('Y-m-d', $dateString), 'd-m-Y');
Ejemplo:
<?php $mifecha= '2016-11-18'; $date = new DateTime($mifecha); echo $date->format('d.m.Y'); // 18.11.2016 echo $date->format('d-m-Y'); // 18-11-2016 ?>
Referencia:
Formato de fechas
Buenas yo necesito convertir una fecha que esta en la base de datos (2019-05-13-00:00:00) pero en el codigo php tengo un format date y lo debe recibir dd/mm/yyyy.
como debo hacer?