Hi Jörg (ab sofort unter echtem Namen? Cool)
Was spricht denn (seit PHP 5.2) gegen das einfache date_add?
Nichts.
Aber gegen
Fatal error: Call to undefined method DateTime::add() in ...
spricht alles.
Ernst
Dann hilft, so lange niemand auf die SEHR GUTE Idee kommt, ein halbwegs aktuelles PHP ( >= 5.2 ) zu installieren, das folgende:
<?php
function HelperAddDays($date, $days=0, $format='Y-m-d H:i:s') {
if (($timestamp = strtotime($date)) === false) {
return false;
} else {
if (0==intval($days)) {
if (0==$days) {
return date($format,$timestamp);
}
} else {
$time=$timestamp+(60*60*24*$days);
return date($format,$time);
}
}
}
$datum=HelperAddDays('2011-1-1',-1);
if ($datum) {
echo $datum;
} else {
echo 'Fehler in ' . __FILE__ . ', Zeile ' . (__LINE__ -5).', bei der Datumsübergabe an HelperAddDays(). Der Wert für das Datum ist ungültig.';
}
Das dürfte auch schneller sein als erst noch die Datenbank zu fragen. Es sei denn Du willst das direkt bei der Eingabe oder Ausgabe aus der Datenbank mit erledigen.
Jörg Reinholz