„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So vergleichen Sie Zeiten in PHP: Eine umfassende Anleitung

So vergleichen Sie Zeiten in PHP: Eine umfassende Anleitung

Veröffentlicht am 09.11.2024
Durchsuche:864

How to Compare Times in PHP: A Comprehensive Guide

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.

Neuestes Tutorial Mehr>

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