Como calcular a diferença entre duas datas?

Na internet você encontra diversas forma mirabolantes para comparação entre datas em PHP, porém uma das formas de fazer isto orientado a objetos, é usando a classe DateTime, a mesma possui o método diff que retorna um objeto DateInterval, que representa o intervalo entre duas datas distintas:

Seguindo o exemplo de datas:
Solução disponível a partir da versão 5.3+ do PHP:

$date = new DateTime('2012-12-25 12:00:00');
$date2 = new DateTime('2013-12-25 12:00:00');
var_dump($date->diff($date2));

Saída:

object(DateInterval)[3]
public 'y' => int 1
public 'm' => int 0
public 'd' => int 0
public 'h' => int 0
public 'i' => int 0
public 's' => int 0
public 'weekday' => int 0
public 'weekday_behavior' => int 0
public 'first_last_day_of' => int 0
public 'invert' => int 0
public 'days' => int 365
public 'special_type' => int 0
public 'special_amount' => int 0
public 'have_weekday_relative' => int 0
public 'have_special_relative' => int 0

Para simplificar, segue uma forma de aplicação.

$data1 = new DateTime( '2013-12-11' );
$data2 = new DateTime( '1994-04-17' );
$intervalo = $data1->diff( $data2 );

echo "Intervalo é de {$intervalo->y} anos, {$intervalo->m} meses e {$intervalo->d} dias";
Facebook Twitter Linkedin Digg Delicious Reddit Stumbleupon Tumblr Posterous