Tach!
Einfach strtotime() nehmen.
Womöglich. Deine Ergebnisse sagen aber: "Tu das nicht!"
Ich finde, sie sind generell ausreichend. Nunja, wenn das Jahr nicht vierstellig ist, werden die Punkt-Varianten als Uhrzeit gewertet. Das Datum ist zufälligerweise richtig, weil es das von heute ist. Mit Nicht-Heute-Testwerten sieht man das deutlicher. Zweistellige Jahreszahlen sind für strtotime() nur für Werte zwischen 61 und 99 definiert.
Dass es bei nicht standardisierten Angaben (sprich Datenmüll) keinen gescheiten Wert ergibt, ist auch ein generelles Problem. Wenn man dazu keine eindeutige Regel definieren kann, ist das auch unlösbar.
dedlfix.