O Script abaixo retorna diferença entre duas datas por Ano, Mês, Dia, Hora e Minuto
[php]
CompararDatas($d1, $d2, $type=”, $sep)
//recebe (Data Final, Data Inicial, tipo de calculo, tipo de separador da data)
//Tipos de calculo: por Ano (Type=’A’), Mes (Type=’M’), Dia (Type=’D’), Hora (Type=’H’), Minuto (Type=’M)
{
$d1 = explode($sep, $d1);
$d2 = explode($sep, $d2);
switch ($type)
{
case ‘A’: //ano
$X = 31104000;
break;
case ‘M’: //mes
$X = 2592000;
break;
case ‘D’: //dia
$X = 86400;
break;
case ‘H’: //hora
$X = 3600;
break;
case ‘MI’: //minuto
$X = 60;
break;
default:
$X = 1;
}
return floor(((mktime(0,0,0,$d1[1],$d1[2],$d1[0])-mktime(0,0,0,$d2[1],$d2[2],$d2[0]))/$X));
}
echo CompararDatas(‘2010/31/12′,’2010/20/12′,’D’,’/’); //Retornará a quantidade de dias
[/php]