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