¿No probaste con la función strtotime?
Código PHP:
$fecha1 = strtotime('2012/07/12');
$fecha2 = strtotime('2012/01/12');
$res = $fecha1 - $fecha2;
$diferencia = ((($res/60)/60)/24);
echo $diferencia;
Así te da la diferencia en días, si la querés en horas, meses o años solo tenes que dividir o quitar divisiones.