Zeitraum zwischen zwei Daten

suntrop

Erfahrenes Mitglied
Hallo,

ich lasse mir in Zukunft einige Daten aus einem Kontaktformular in einer DB speichern.

Unter anderem soll der Nutzer ein Datum angeben, an dem er etwas kaufen möchte. Für eine statistische Auswertung möchte ich das angegebene Datum mit dem aktuellen (Zeitpunkt der Kontaktaufnahme) in Verbindung setzen, um zu sehen wie lange der Durchschnitt mit dem Kauf wartet.

Ich dachte als erstes daran das Datum in zwei Felder "Monat" und "Jahr" zu speichern. Aber ich habe gesehen, dass es ja jede Menge an Datums und Zeitangaben in MySQL gibt. Nur welche ist die Richtige für mich? Ich arbeite noch nicht so lange mit PHP und kenne nur ein bisschen und das auch meist eher theoretisch.

Würde mich über ein wenig Hilfestellung sehr freuen.

Grüße
suntrop
 
Also ich würd es so machen:

2 Felder:
kaufen_am
eingetragen

beides im timestamp(); speichern lassen und dann
PHP:
// Beide Daten auslesen
$erg = $kaufen_am - $eingetragen;
echo 'Sie müssen noch '.date('d', $erg).' Tage warten';

So sollte es funktionieren, ist ungetestet...
 
Hi Kalma,

danke für deine Antwort. Das ist genau richtig, so etwas schwebte mir vor.

Nur bekomme ich es nicht so hin, dass ich nur eine Zahl als Ergebnis erhalte. Wenn zwischen den Daten nur wenige Tage liegen ist das kein Thema, aber sobald hier mehr als ein Monat berechnet wird, erhalte ich mit date('d', $erg) nur die Tage (innerhalb eines Monats).

Mit einer zahl wie 84 Tage könnte ich viel besser weiter arbeiten, als mit 16 Tagen und 2 Monate. Aber hier schätze ich muss ich eine eigene Funktion schreiben, die mir die Monate erst in Tage umrechnet und dann mit den Tagen addiert, richtig? Oder gehts doch einfacher?


Grüße
suntrop
 
Die date()-Funktion ist dafür auch nicht besonders gut geeignet. Probier mal Folgendes:
PHP:
round(($kaufen_am - $eingetragen)/86400)
 
Zurück