PHP-Zeitvergleiche: Eine detaillierte Anleitung
Zeitvergleiche in PHP können eine knifflige Aufgabe sein. Dieser Artikel bietet eine umfassende Erklärung, wie Sie Zeiten mit verschiedenen Methoden effektiv vergleichen können.
Einschränkungen der aktuellen Lösung
Das in der Frage bereitgestellte Code-Snippet, wo Sie versuchen Der Vergleich von $NowisTime mit $ThatTime schlägt fehl, da der Vergleich zwischen Zeichenfolgen erfolgt. Der String-Vergleich von PHP berücksichtigt Zeitunterschiede nicht richtig.
Lösung mit Zeitstempeln
Ein zuverlässiger Ansatz besteht darin, beide Zeiten mit mktime() oder strtotime in Zeitstempel umzuwandeln () und führen Sie dann einen numerischen Vergleich durch. Der folgende überarbeitete Code demonstriert dies:
$ThatTime = "14:08:10"; if (time() >= strtotime($ThatTime)) { echo "ok"; }
In diesem Fall gibt time() den aktuellen Zeitstempel zurück und strtotime() wandelt $ThatTime in einen Zeitstempel um. Der Vergleich ist jetzt unkompliziert und genau.
Lösung mit DateTime (mit Zeitzonenerkennung)
Die DateTime-Klasse von PHP ermöglicht anspruchsvollere Zeitvergleiche, die Zeitzonen berücksichtigen. So können Sie es nutzen:
$dateTime = new DateTime($ThatTime); if ($dateTime->diff(new DateTime)->format('%R') == ' ') { echo "OK"; }
Die diff()-Methode berechnet die Differenz zwischen zwei DateTime-Objekten und die format()-Methode gibt sie in einem bestimmten Format zurück, wie hier „%R“, um eine positive oder negative Differenz anzuzeigen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3