Hallo EisFuX,
Das "neue" Datum sollte "größer" sein als das "alte" (oder gleich).
Sonst macht das ja keinen Sinn.
Ach was. Man kann von einem bestimmten Zeitpunkt aus ebenso gut in die Vergangenheit als auch in die Zukunft schauen und dabei irgendwelche Berechnungen angestellt haben wollen. Wenn du diese Größer/Kleiner-Prüfung machst kannst auch auch gleich die Werte in eine dir genehme Reihenfolge bringen.
Den Gedanken hatte ich auch schon. Aber ...
Nebenbei wäre die Prüfung und der Tausch der beiden Daten aufwändiger als meine bei passender Gelegenheit eingestreuten return(FALSE)-Anweisungen ...
Naja, man kann ja bei den Timestamps ansetzen, da ist der Vergleich noch einfach:
function foxy_month_diff(
$ts_alt,
$ts_neu
) {
// "Vertauschen", falls alt größer als neu ...
if($ts_alt > $ts_neu ) {
$alt = getdate($ts_neu);
$neu = getdate($ts_alt);
}
else {
$alt = getdate($ts_alt);
$neu = getdate($ts_neu);
}
list($years, $months, $days) = foxy_date_diff(
$alt['year'], $alt['mon'], $alt['mday'],
$neu['year'], $neu['mon'], $neu['mday']
);
return($years * 12 + $months);
}
MffG
EisFuX