Tobias Kloth: Datum berechnen und in DB schreiben

Beitrag lesen

Hallo Thomas,

Ich möchte über PHP das aktuelle Datum ermitteln und in einer MySQL-Datenbank speichern.

warum lässt du mysql nicht selbst das Datum ermitteln?

  • Wie bekomme ich das aktuelle Datum?

mit time()[1] bekommst du den aktuellen Timestamp, und mit date()[2] kannst du ihn dir formatieren (in mysql: NOW()[3])

  • Wie errechne ich das zukünftige Datum?

mit strtotime('+3 days')[4] o.ä. (mysql: mit ADDDATE(NOW(),INTERVAL 3 DAY)[5] (beides ungetestet)

  • in welcher Form schreibe ich das Datum in die Datenbank?

als Datum :-)

  • welchen Datentyp muss ich in der Datenbank verwenden (date?)

ja (oder DATETIME wenn du die Zeit auch brauchst)

  • wie kann ich zwei Datum-Variablen in Bezug auf früher oder später vergleichen?

wenn du z.B. alle Datensätze haben willst, die älter als 5 Tage sind, kannst du die z.B. mit "... WHERE datum < DATE_SUB(NOW(), INTERVAL 5 DAY)"[6] abfragen.
Wenn du erst in php damit arbeiten willst, kannst du die Zeiten auch als Timestamp abfragen (->UNIX_TIMESTAMP(datum)).

Grüße aus Nürnberg
Tobias

[1] http://www.php.net/time
[2] http://www.php.net/date
[3] http://www.mysql.de/doc/en/Date_and_time_functions.html#IDX1384
[4] http://www.php.net/strtotime
[5] http://www.mysql.de/doc/en/Date_and_time_functions.html#IDX1353
[6] http://www.mysql.de/doc/en/Date_and_time_functions.html#IDX1391
[7] http://www.mysql.de/doc/en/Date_and_time_functions.html#IDX1402

--
Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|