Mit PHP das Datum von gestern ermitteln:
$date = date('Y-m-d', time() - 86400);
Die aktuelle Zeit nehmen, davon 86400sec abziehen (entspricht 24h) und dann in das gewünschte Datumsformat casten.
Update: Besser geht das Ganze allerdings über folgendes Codesnippet:
$date = '2012-05-11'; date('Y-m-d', strtotime('-1 days', strtotime($date)));
Update 2:
Wenn ihr auf einen Wochentag bspw. 3 Werktage addieren wollt, funktioniert das analog zur oben beschriebenen Funktion:
$date = '2013-09-05'; date('Y-m-d', strtotime('+3 weekdays', strtotime($date)));
Weitere Funktionalitäten zu strtotime() findet ihr hier:
http://www.php.net/manual/de/datetime.formats.relative.php
Würde ich nicht so machen, da nicht jeder Tag 24h hat. An Umstellungstagen Sommer/Winterzeit macht das zu bestimmten Zeiten Probleme.
Besser ist …
$gestern = mktime(strftime(„%H“, $datum), strftime(„%M“, $datum), strftime(„%S“, $datum), strftime(„%m“, $datum), strftime(„%d“, $datum) – 1, strftime(„%Y“, $datum));
Und dann halt den Timestamp ausgeben mit …
echo strftime(„%d.%m.%Y“, $gestern);
@ Franky:
Danke, guter Einwand … habe ich gar nicht bedacht 🙂
Habe mal noch eine alternative/bessere Lösung eingestellt.
Das funktioniert sicher:
$gestern = date(‚d.m.Y‘,mktime(0,0,0,date(‚m‘),date(‚d‘)-1,date(‚y‘)));
$morgen = date(‚d.m.Y‘,mktime(0,0,0,date(‚m‘),date(‚d‘)+1,date(‚y‘)));
Was passiert, wenn du auf nen 31.03. bspw. +1 addierst? Ich denke fast, da ist die Variante mit „+1 days“ besser.