Zeiten in PHP effektiv vergleichen
Da es ständig notwendig ist, Zeiten zu vergleichen, bietet PHP verschiedene Methoden, um diese Aufgabe zu erleichtern. Lassen Sie uns einen konkreten Fall untersuchen, in dem ein Vergleich mit $NowisTime und $ThatTime nicht das erwartete Ergebnis liefert.
Der bereitgestellte Code versucht zu überprüfen, ob $NowisTime größer oder gleich $ThatTime ist. Es tritt jedoch ein Problem auf, bei dem „ok“ entgegen der Erwartung nicht gedruckt wird. Um das Problem zu verstehen, schauen wir uns die Details an:
Verbesserte Lösungen
Um diese Probleme zu lösen, können wir genauere Methoden anwenden:
Verwenden von strtotime()
PHPs strtotime()-Funktion wandelt eine Zeitzeichenfolge wie $ThatTime in einen UNIX-Zeitstempel um. Dieser Ansatz vereinfacht den Vergleich:
$ThatTime = "14:08:10"; if (time() >= strtotime($ThatTime)) { echo "ok"; }
Berücksichtigung der Zeitzone mit DateTime
Mit der DateTime-Klasse können Sie Zeitvergleiche unter Berücksichtigung von Zeitzonen durchführen. Dies ist besonders nützlich, wenn Sie mit Zeiten von verschiedenen Standorten arbeiten:
$dateTime = new DateTime($ThatTime); if ($dateTime->diff(new DateTime)->format('%R') == '+') { echo "OK"; }
Durch die Nutzung dieser Lösungen können Sie Zeiten in PHP genau und bequem vergleichen und so Ihre spezifischen Anforderungen effektiv erfüllen.
Das obige ist der detaillierte Inhalt vonWarum schlägt mein PHP-Zeitvergleich fehl und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!