Dar formato a fechas en PHP – strtotime() & date()

Se intentará explicar y mostrar el uso de las funciones strtotime() y date() para la dar formato fecha en php a partir de una fecha dada aleatoriamente en el formato requerido.
En PHP y MySql no suele gustar trabajar con fechas pero es imposible evitarlas. Si se registran las fechas mediante el timestamp de la base de datos nos guarda un formato, para las graficas se requiere otro formato, y para mostrarlo en el formato estándar de tu región se requiere otro formato, un auténtico lio que suele amargar más de un proyecto.
Por mi parte para el proyecto del controlador del acuario me vi forzado a familiarizarme con las fechas en php para poder montar las graficas usando Morris.js. En su momento escribí este sencillo código con el que se pueden reformatear fechas sin apenas esfuerzo.
Dada una fecha con formato "Y/d/m j:i:s A" (2015/11/05 1:02:36 PM) se necesita pasar a un formato para el plugin Morris.js por lo que es necesario pasar la fecha anterior al formato "Y-m-d H:i:s" (2015/05/11 13:02:36).

Ejemplo de funciones strtotime() y date() para formatear una fecha

<?
$formato que tengo =  "2015/11/05 1:02:36 PM" 
$formato_de_transito = strtotime($formato_que_tengo);
$formato_que_deseo = date("d-m-Y H:i:s",$formato_de_transito);

echo $formato_que_deseo; 

//DEVUELVE (11/05/2015 13:02:36)
?>

Mediante la función strtotime() se convierte una cadena que contenga una fecha a una fecha Unix . Una fecha Unix representa el número de segundos transcurridos desde el 1 de Enero del 1970 00:00:00 UTC. De este modo y mediante la función date() es posible reasignar el formato de fecha que teníamos anteriormente para poder mostrar, tanto el formato de fecha requerido para la ocasión, como para pasar el resultado por un creador de gráficos tipo el mencionado anteriormente Morris.js, o cualquier otra necesidad que se nos presente en nuestro proyecto.
Espero que os sea de gran ayuda.
Fuente: http://php.net

Comentarios del artículo

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