Te paso dos funciones que te pueden servir:
Código PHP:
<?php
// Las xDates están en formato dd-mm-yyyy cbruschi.blogspot.com
function rdates($xDate1, $xDate0) {
return date2days(ymd($xDate1)) - date2days(ymd($xDate0));
}
// xDate a días.
function date2days($xDate) {
// yyyy-mm-dd
list($anyo, $mes, $dia) = explode("-", $xDate);
// Días acumulados por meses.
// Basta hasta novimbre.
$ar_dias = array(
31,
31 + 28,
31 + 28 + 31,
31 + 28 + 31 + 30,
31 + 28 + 31 + 30 + 31,
31 + 28 + 31 + 30 + 31 + 30,
31 + 28 + 31 + 30 + 31 + 30 + 31,
31 + 28 + 31 + 30 + 31 + 30 + 31 + 31,
31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30,
31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31,
31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30);
$xReturn = floor(($anyo - 1901) * 365.25);
$xReturn += (($mes != 1) ? $ar_dias[$mes - 2] : 0); // El array empieza en 0.
$xReturn += $dia;
$xReturn += (($mes > 2) && checkdate(02, 29, $anyo) ? 1 : 0);
return $xReturn;
}
// Cambia una xDate en formato dd-mm-yyyy al formato yyyy-mm-dd
function ymd($xDate){
$mixDate = explode($xDate[2], $xDate);
$laxDate=$mixDate[2]."-".$mixDate[1]."-".$mixDate[0];
return $laxDate;
}
/**
Intervalo 1: 01 - 09 - 2010 a 30 - 09 - 2010 = 30 días
Intervalo 2: 15 - 09 - 2010 a 15 - 10 - 2010 = 30 días
*/
//Te quedas con la mayor y la menor, utiliza la db u otra funcion para calcularlas.
$int0 = "01-09-2010";
$int1 = "15-10-2010";
echo rdates($int1, $int0);
?>
Lo pruebas y me cuentas, saludos