Fiz essa função a tempo atrás: <?php
#!--------------------------------------------
#! Por: Felipe Nascimento S. Pena
#!--------------------------------------------
#! Site: www.vivaophp.com.br
#! <felipe[@]vivaophp.com.br>
#!--------------------------------------------
function calc_data ($data1, $data2)
{
$data1 = explode("-", $data1);
$data2 = explode("-", $data2);
if ((count ($data1) < 3)
|| (count ($data1) > 3)
|| (in_array ("", $data1)))
{
return "ERRO: o formato para a data é dd-mm-YYYY";
}
if ((count($data2) < 3)
|| (count($data2) > 3)
|| (in_array("", $data2)))
{
return "ERRO: o formato para a data é dd-mm-YYYY";
}
for ($i=0; $i<3; $i++)
{
if ((!ctype_digit($data1[$i])) || (!ctype_digit($data2[$i])))
{
return "ERRO: Caracter inválido(s)";
}
}
$data1 = mktime(0, 0, 0, $data1[1], $data1[0], $data1[2]);
$data2 = mktime(0, 0, 0, $data2[1], $data2[0], $data2[2]);
if ($data1 > $data2) {
return floor(($data1 - $data2)/84600);
} else {
return floor(($data2 - $data1)/84600);
}
}
// Chamada
echo calc_data("11-06-2005", "15-06-2005");
?> Se não servir a função, para calcular utilize: http://www.php.net/mktime []'s