Código PHP:
<?
function compara_fechas($fecha1,$fecha2)
{
if (preg_match("/([0-9][0-9]){1,2}/\[0-9]{1,2}\/[0-9]{1,2}/",$fecha1))
list($año1,$mes1,$dia1)=split("/",$fecha1);
if (preg_match("/([0-9][0-9]){1,2}-[0-9]{1,2}-[0-9]{1,2}/",$fecha1))
list($año1,$mes1,$dia1)=split("-",$fecha1);
if (preg_match("/([0-9][0-9]){1,2}/\[0-9]{1,2}\/[0-9]{1,2}/",$fecha2))
list($año2,$mes2,$dia2)=split("/",$fecha2);
if (preg_match("/([0-9][0-9]){1,2}-[0-9]{1,2}-[0-9]{1,2}/",$fecha2))
list($año2,$mes2,$dia2)=split("-",$fecha2);
$dif = mktime(0,0,0,$año1,$mes1,$dia1) - mktime(0,0,0,$año2,$mes2,$dia2);
return ($dif);
}
$f1="2005-04-7";
$f2="2005-04-6";
if (compara_fechas($f1,$f2)<0)
echo "$f1 es menor que $f2 <br>";
if (compara_fechas($f1,$f2)>0)
{
echo "$f1 es mayor que $f2 <br>";
}
if (compara_fechas($f1,$f2)==0)
echo "$f1 es igual que $f2 <br>";
?>
Prueba así, no se mucho de expresiones regulares, solo di vuelta el script
saludos