Non funziona le date non sono in formato unix e il controllo lessicografico fallisce!

io consiglio sempre di usare le timestamp per questi controlli.

$format = "d/m/Y" ;
$ts1 = date_create_from_forma($format,$date1);
$ts2 = date_create_from_forma($format,$date2);

$ts1 => $ts1->getTimestamp();
$ts2 => $ts2->getTimestamp();

e a questo punto esegui il controllo proposto da jcsnake,