Trabajar con fechas en PHP (1)

No nos engañemos, trabajar con fechas es una de las cosas que más dolores de cabeza puede darnos. Veamos cómo trabajar con fechas en PHP.

Alguno de los problemas que nos podemos encontrar es que nosotros trabajamos con el formato dd-mm-AAAA. En cambio la mayoría de servidores y lenguajes de programación trabajan con el formato YYYY-mm-dd. Entonces, aquí van algunos trucos que quizás os faciliten la vida en PHP (si sabéis algunos mas, añadidlos en comentarios):

Algunas funciones de PHP con fechas

Veamos algunas funciones sencillas:

// Fecha actual
 echo date("d/m/Y");
 // Hora actual
 echo date("h:m:s a");
 // 24 horas antes
 echo date("h:m:s a", time()-24*60*60);

Comparar fechas en PHP

La manera mas sencilla, pero que tiene caducidad (por temas de fechas Linux). Convertimos las fechas en formato string, a formato time para poderlas comparar de forma sencilla:

$fecha= strtotime("now");
 $fechalimite= strtotime("2014-12-30");
 if ( $fecha > $fechalimite ){
 echo "A día de hoy, ha sobrepasado la fecha límite";
 } else {
 echo "Todavía no hemos llegado a la fecha límite";
 }

Las fechas PHP y MySQL

Vamos con las fechas almacenadas en MySQL. Pongamos que tenemos un campo en nuestra tabla ‘Alumno’ llamado ‘fechainscripcion’ del tipo Date. Las fechas en MySQL se almacenan con el formato ‘YYYY-mm-dd’, y nosotros necesitamos que se muestre ‘dd-mm-AAAA’. La consulta MySQL para hacerlo sería:

SELECT DATE_FORMAT('fechainscripcion', '%d/%m/%Y') AS fechaformatada FROM Alumno WHERE nombre='Alex' LIMIT 5

Como véis utilizo la función DATE_FORMAT al que le paso el campo a tratar (fechainscripcion) como primer parámetro, y como segundo le paso el formato que quiero que tenga (adjunto en la parte inferior enlace a la función para que veáis cómo montar formatos de fecha).

Espero que os sea de utilidad para trabajar con fechas en PHP.


Más información