Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann man Datumsangaben in PHP zuverlässig vergleichen, insbesondere solche mit Tagen, die nicht mit Nullen aufgefüllt sind?

Wie kann man Datumsangaben in PHP zuverlässig vergleichen, insbesondere solche mit Tagen, die nicht mit Nullen aufgefüllt sind?

Linda Hamilton
Freigeben: 2024-12-19 11:47:34
Original
737 Leute haben es durchsucht

How to Reliably Compare Dates in PHP, Especially Those with Non-Zero-Padded Days?

Vergleichen von Datumsangaben in PHP: Umgang mit aufgefüllten Tagen ungleich Null

Beim Vergleichen von Datumsangaben in PHP ist es wichtig zu berücksichtigen, dass in der Datei gespeicherte Datumsangaben berücksichtigt werden Die Datenbank folgt möglicherweise nicht dem mit Nullen aufgefüllten Format (z. B. „2011-10-2“). Dies kann zu falschen Vergleichen führen, wenn Standard-Datumsvergleichsoperatoren verwendet werden.

Lösung mit strtotime()

Für Daten nach dem 1. Januar 1970 können Sie PHPs strtotime( verwenden ) Funktion zum Vergleichen von Daten:

$today = date("Y-m-d");
$expire = $row->expireDate; //from database

$today_time = strtotime($today);
$expire_time = strtotime($expire);

if ($expire_time < $today_time) { /* do Something */ }
Nach dem Login kopieren

strtotime() konvertiert eine Zeichenfolge, die ein Datum und eine Uhrzeit darstellt, in eine UNIX Zeitstempel, der die Anzahl der Sekunden seit dem 1. Januar 1970 darstellt. Dadurch können Sie Datumsangaben vergleichen, indem Sie ihre Zeitstempel vergleichen.

Lösung mit der DateTime-Klasse

Für PHP-Versionen 5.2.0 und höher können Sie die DateTime-Klasse verwenden, um mit Datumsangaben zu arbeiten:

$today_dt = new DateTime($today);
$expire_dt = new DateTime($expire);

if ($expire_dt < $today_dt) { /* Do something */ }
Nach dem Login kopieren

Die DateTime-Klasse bietet einen umfassenden Satz an Funktionen für die Arbeit mit Datums- und Zeitangaben, einschließlich Vergleichsoperatoren.

Weitere Überlegungen

  • Wenn Ihre Daten vor dem 1. Januar 1970 liegen , müssen Sie einen anderen Ansatz verwenden, z. B. mit Datumsangaben als Zeichenfolgen arbeiten oder eine Bibliothek eines Drittanbieters verwenden.
  • Stellen Sie immer sicher, dass das Format der Datumszeichenfolgen in der Datenbank und die Datumszeichenfolge, mit der Sie vergleichen, konsistent sind.

Das obige ist der detaillierte Inhalt vonWie kann man Datumsangaben in PHP zuverlässig vergleichen, insbesondere solche mit Tagen, die nicht mit Nullen aufgefüllt sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage