Saludos...

En muchas ocasiones, como programadores web, se nos ofrece calcular cuantos dias hay entre 2 fechas diferentes... por ej. cuantos dias hay entre el 2010/01/15 y 2010/08/31....

Para evitarnos el tener que realizar funciones complejas en PHP, usamos la clausula SELECT de la siguiente manera...

SELECT DATEDIFF(fecha_fin, fecha_inicio) AS diferencia FROM tabla

Notemos que las fechas (fecha_fin y fecha_inicio) deben estar almacenadas en una tabla de la base de datos, y la diferencia se almacenara en la variable "diferencia"

Pero, si las fechas no estan almacenadas en una base de datos, y estas se generan, por ej, via POST al recibir datos de un formulario, podemos hacerlo de la siguiente forma:

$startDate = date("Y/m/d");

//ó puede recibir el valor asi:  $startDate=$_POST["var"];

$endDate = "2009-12-31";

list($year, $month, $day) = explode("/", $startDate);

$startDate = mktime(0, 0, 0, $month, $day, $year);

list($year, $month, $day) = explode("-", $endDate);

$endDate = mktime(0, 0, 0, $month, $day, $year);

$totalDays = ($endDate - $startDate)/(60 * 60 * 24);

echo $totalDays."<br>";

Espero les haya sido de utilidad.

No duden en publicar sus comentarios o dudas.

Exitos.

Comparte este Goo:

¿Tiene contenido inapropiado?

Comparte este goo con un amigo: