Datumsdifferenz
-
Wie mach ich in PHP folgendes ?
Habe in meiner mysql datenbank eine spalte vom format DATE.
Da steht ein Datum dann wie folgt drin: 2005-06-30Jetzt will ich z.b. einen select auf alle spalten machen,wo das datum 10 tage alt ist. wie mache ich das in php bzw. ja mysql.
um das datum wegzuschrieben mache ich ja ein
$date_insert = date("Y-m-d");
Und per mysql geht ja z.b. sowas:
SELECT *
FROM `vm_vinyls`
WHERE date_insert > '2005-06-30'
LIMIT 30 , 30Muss als irgendwie als variable das 10 tage alte datum bekommen,aber wie ? Kann ja nicht einfach 10 tage abzeihen oder so, das pasts ja nicht wenn es z.b. der dritte eines monats ist.
Wißt ihr was ich meine ?
-
Du kannst ja die Zeit aus der DB auslesen (und evtl parsen) und dann per mktime() den Timestampt generieren. Davon ziehst du dann einfach die aktuelle Zeit (time()) ab und multiplizierst das ganze mit (60*60*24). Dann weißt du, wie viele Tage Differenz du hast...
-
Da wir jetzt schon mal bei der Zeit sind:
SQL handelt mit dem DATE-typ so: YYYY-MM-TT
Nun meine Frage wie arbeite ich in PHP dammit? Muss ich das erst irgendwie parsen oder gibts da irgendwelche function die mir das ganze in ein von time() -Format
(oder anderes der gängigen Zeitformate) und wider zurück wandelt?Kann mir da jemand helfen?
gruss
-
Wo ist dass Problem?
$date = '2005-12-31'; // Syntax: YY-MM-DD $date = explode('-', $date); // $date[0] = Jahr // $date[1] = Monat // $date[2] = Tag $time = mktime(0, 0, 0, $date[1], $date[2], $date[0]); // Timestamp erzeugen $differenz = time() - $time; // Differenz berechnen
-
Du könntest wohl auch strototime verwenden (weiß allerdings nicht, was von beiden wirklich effizienter ist), oder eben direkt in der DB mit den MySQL: Date and Time Functions
-
Laß die Datenbank arbeiten. Dazu ist sie da. Date_add date_sub ist dein freund.
-
Datumsdifferenz?
DatumSdifferenz?????Das heißt Datendifferenz! DateNdifferenz!!!!!!!!!!!!
Nur mal um das etwas richtig zu stellen. Ist ja genau so schlimm wie Albums oder Lexikons...
-
d.h. datumdifferenz und nicht datendiff.
das wort kommt von datum und nicht von date.
-