date("Y.m.d") minus einen Tag also gestern

patator

Mitglied
hallo,
habe eine Tabelle für nen Userzähler der unter anderem pro IP den Tag als Typ Datum in die mysql Datenbank speichert.
Um die User für den laufenden Tag zu ermitteln geh ich nach dem Tagesdatum, nun möchte ich aber aktuelles Tagesdatum minus 1 Tag um zu ermitteln wieviele gestern da waren.

Wie erreiche ich es mit date("Y.m.d") einen Tag vom Tagesdatum abzuziehen:
Bsp. 2004.09.20 minus 1 = 2004.09.19

Bitte um Antwort
 
Hast du dir schon mal die Beschreibung des zweiten Parameters der date()-Funktion angesehen? Mit ein paar mathematischen Kenntnissen sollte dieses „Problem“ keins mehr sein.
 
PHP:
$tag = date("d");
$tag -= 1;
$variable = $tag.".".date("m.Y");

Probier mal, ich glaube so sollte das funktionieren.
 
Autsch, bevor man von fehlerhaften Beispielen abschreibt, hier ist eine Lösung:
PHP:
date('Y.m.d', time()-(60*60*24));
Der (60*60*24) Ausdruck kann selbst verständlich auch durch 86400 ersetzt werden, doch der Erklärung wegen habe ich es detailiert geschrieben.
 
:-( Äh, nein.
Daran hatte ich in der Eile gar nicht gedacht...
Danke für die Korrektur.
 
jetzt hab ich ein weiteres problem, wenn ich von "d" also tagesnummer des monats der z.b. 07 ist -1 mache erhalte ich einstellig 6, wobei ich wieder irgendwie die führende 0 dazubekommen müsste um meine abfrage für meinen besucherzähler der gestrigen besucher abzufragen.
hat jemand ne idee nach der subtraktion die führende null bei einstelligen ziffern wiederherzustellen?
 
Hey!
Du kannst zum Beispiel den Tag getrennt vom Monat und vom Jahr per date() abfragen und dann mit folgender Kontrolle bearbeiten:
PHP:
if($tag<10){$tag = "0".$tag;}
Hoffe, es hilft dir weiter.
Gruß,
Centrepiece
 
Zuletzt bearbeitet:
Code:
SELECT <spalten>
FROM <tablle>
WHERE <datumsspalte> = DATE_SUB(CURDATE(), INTERVAL 1 DAY)

Die Spalte, die das Datum enthält sollte vom Typen DATE(TIME) sein.
 
Zurück