355 Stimmen

Wie kann ich zwei DateTime-Objekte in PHP 5.2.8 vergleichen?

Ein Blick in die PHP-Dokumentation zeigt, dass die folgenden beiden Methoden der DateTime Objekts scheinen beide mein Problem zu lösen:

  • DateTime::diff : Ermitteln Sie die Differenz und nutzen Sie diese, um zu bestimmen, was älter ist.
  • DateTime::getTimestamp : Holen Sie sich die UNIX-Zeitstempel und vergleichen Sie diese.

Diese beiden Methoden sind in der Doku als in der Version >= 5.3 verfügbar (und, nicht überraschend, wenn ich versuche, sie aufzurufen, stelle ich fest, dass sie nicht existieren). Ich kann keine spezifische Dokumentation für 5.2.8 finden, daher bin ich nicht sicher, ob es in meiner Version gleichwertige Methoden gibt. Ich habe Gegoogelt Ich habe mich mit dem Problem beschäftigt und eine Vielzahl von Lösungen gefunden, von denen keine meinen sehr einfachen Anforderungen entspricht:

  • Wie kann ich zwei DateTime-Objekte vergleichen?
  • Wo kann ich die Dokumentation für frühere PHP-Versionen finden? Insbesondere die Version 5.2.8?

Als Anhaltspunkt habe ich den folgenden Code:

$st_dt = new DateTime(verifyParam ('start_date'));
$end_dt = new DateTime(verifyParam ('end_date'));

// is the end date more ancient than the start date?
if ($end_dt < $start_dt) 

Offenbar gibt es bei diesem Kerl keinen Vergleichsoperator.

bearbeiten

Offensichtlich meine Annahmen waren völlig falsch (danke Milen, dass du das so gut veranschaulicht hast). Es gibt einen Vergleichsoperator und der funktioniert prima, danke. Manchmal vermisse ich wirklich einen Compiler. Der Fehler ist im obigen Code, ich bin sicher, Sie werden ihn viel schneller finden als ich :).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X