wie zwei Daten und Zeiten zu subtrahieren, um die Differenz zu erhalten

8

Ich muss eine E-Mail senden, wenn eine Benutzer-E-Mail einen Link enthält, der nach sechs Stunden ungültig wird Was mache ich, wenn Email gesendet wird? Ich aktualisiere die Datenbank mit dem Feld EmailSendDate vom Typ "datetime" jetzt habe ich das aktuelle Datum und die Zeit und habe zum gleichen formate gemacht, wie es in db jetzt ist, ich will finden, dass beide diese Daten und Zeit von 6 Stunden unterscheiden oder nicht, damit ich Verbindung ungültig machen kann, aber ich weiß nicht wie um dies zu tun

mein Code sieht so aus, dass ich hardcoded Wert für db nur zum Beispiel

verwende %Vor%

Ich weiß nicht, wie ich vorgehen soll plz help

    
user403269 30.07.2010, 11:29
quelle

5 Antworten

18
%Vor%

druckt 2 days, 4 hours, 44 minutes

siehe Ссылка

edit: Aber Sie könnten das Problem auch mehr auf die Datenbankseite verschieben, z. Speichern Sie das Ablaufdatum / die Zeit in der Tabelle und führen Sie dann eine Abfrage wie
... WHERE key='7gedufgweufg' AND expires<Now()
Viele rdbms haben vernünftige / gute Unterstützung für Datum / Uhrzeit-Arithmetik.

    
VolkerK 30.07.2010 11:38
quelle
3

Sie können beide Daten in Unix-Epochen umwandeln, also die entsprechende Anzahl von Sekunden seit Mitternacht am 31. Dezember 1969. Daraus lässt sich leicht die Zeit ableiten, die zwischen den beiden Daten verstrichen ist. Um dies zu tun, können Sie entweder mktime () oder strtotime () verwenden.

Alles Gute.

    
Adam 30.07.2010 11:38
quelle
2

$ hoursDiff = (time () - strtotime ("2010-07-30 13:11:50")) / (60 * 60);

    
ajile 30.07.2010 11:40
quelle
1

Ich würde lieber mit einem Zeitstempel arbeiten: Speichern Sie den Wert, der von "time ()" als "savedTime" zurückgegeben wird, in Ihrer Datenbank (das ist ein Zeitstempel in Sekunden). Subtrahieren Sie diese Zahl von "time ()", wenn Sie Ihre sechs Stunden überprüfen.

if ((time() - savedTime) > 6 * 3600) // more than 6h ago

oder

"SELECT FROM table WHERE savedTime < " . (time() - 6 * 3600)

    
Select0r 30.07.2010 11:37
quelle
0

Dies könnte die Lösung für Ihr Problem sein - & gt; Wie berechnet man den Unterschied zwischen zwei Daten mit PHP? ?

    
Aditya 30.07.2010 11:37
quelle

Tags und Links