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 */ }
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 */ }
Die DateTime-Klasse bietet einen umfassenden Satz an Funktionen für die Arbeit mit Datums- und Zeitangaben, einschließlich Vergleichsoperatoren.
Weitere Überlegungen
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!