wie zu subtrahieren Sie zwei Termine bekommen Unterschied
habe ich eine E-Mail gesendet, wenn ein Benutzer registrieren E-Mail enthält einen link, ist unwirksam nach sechs Stunden
was ich m tun, wenn E-Mail gesendet wird, aktualisiere ich die db mit dem Feld emailSentDate vom Typ "datetime"
nun habe ich aber das aktuelle Datum und Zeit und hat das gleiche Format, wie es in der db nun möchte ich feststellen, dass diese beiden Termine und Zeit haben differenc von 6 Stunden oder nicht so, dass ich machen kann link ungültig, aber ich donot wissen, wie dies zu tun
mein code so Aussehen ich m mit hartcodierten Wert für die db nur ein Beispiel
$current_date_time=date("Y-m-d h:i:s");
$current=explode(" ",$current_date_time);
$current_date=$current[0];
$current_time=$current[1];
$db_date_time="2010-07-30 13:11:50";
$db=explode(" ",$db_date_time);
$db_date=$db[0];
$db_time=$db[1];
ich weiß nicht, wie es weitergehen plz help
- Bitte siehe stackoverflow.com/search?q=subtract+dates+php
Du musst angemeldet sein, um einen Kommentar abzugeben.
Drucke
2 days, 4 hours, 44 minutes
sehen http://docs.php.net/datetime.diff
edit: man kann Aber auch shift das problem mehr auf der Datenbank-Seite, z.B. durch speichern der Ablauf Datum/Zeit in der Tabelle, und führen Sie dann eine Abfrage wie
... WHERE key='7gedufgweufg' AND expires<Now()
Viele rdbms haben günstige/gute Unterstützung für Datum - /Uhrzeit-Arithmetik.
diff()
Methode...(PHP 5 >= 5.3.0)
wurde im Juni 2009 veröffentlicht 😉Was Sie tun können, ist, konvertieren Sie beide Ihre Termine zu Unix-epoch times, das heißt, die entsprechende Anzahl an Sekunden seit Mitternacht am 31. Dezember 1969. Von diesem können Sie leicht ableiten, durch die verstrichene Zeit zwischen zwei Daten. Um dies zu tun, können Sie entweder mktime() oder strtotime()
Alle das beste.
$hoursDiff = ( time() - strtotime("2010-07-30 13:11:50") )/(60 * 60);
Ich würde lieber arbeiten mit einem timestamp: Speichern Sie den Wert, der zurückgegeben wird, durch "time()" als "savedTime", um Ihre Datenbank (das ist ein timestamp in Sekunden). Subtrahieren Sie diese Zahl von "Zeit ()", wenn Sie prüfen, ob Ihr sechs Stunden.
if ((time() - savedTime) > 6 * 3600)
//more than 6h ago
oder
"SELECT FROM table WHERE savedTime < " . (time() - 6 * 3600)
Könnte dies die Lösung für dein problem -> So berechnen Sie die Differenz zwischen zwei Datumsangaben mit PHP?