Datum in PHP vergleichen – so geht’s

php_date_compareWie vergleicht man eigentlich 2 Daten (Daten = Plural von Datum) in PHP miteinander? Die Frage klingt erst mal einfacher als es ist.
Der erste Gedanke, der einem meistens kommt, ist folgender. Wir speichern 2 Daten als String und vergleichen diese.
 
 
Vorüberlegung

<?php
$date1 = "2012-1-12";
$date2 = "2011-10-12";

if ($date1 > $date2)
echo "$date1 ist neuer als $date2";
else
echo "$date1 ist &auml;lter als $date2";
?>

Ausgabe:

2012-1-12 ist neuer als 2011-10-12

Auf den ersten Blick scheint das auch eine funktionierende Lösung zu sein. Was jedoch, wenn die beiden Daten in einem unterschiedlichen Format vorliegen?

<?php
$date1 = "12-1-12";
$date2 = "2011-10-12";

if ($date1 > $date2)
echo "$date1 ist neuer als $date2";
else
echo "$date1 ist &auml;lter als $date2";
?>

Ausgabe:

12-1-12 ist älter als 2011-10-12

Nun wird das Datum in 2012 auf einmal als kleiner als das Datum […]