PHP Datum vergleichen
Marc Wagner
Oktober 19, 2020
In diesem Tutorial erklären wir euch, wie du zwei Daten in PHP miteinander vergleichen kannst. Zwei Daten in PHP zu vergleichen ist sehr einfach.
Erste Methode #
Wenn beide Daten das gleiche Format haben, können die Strings wie folgt verglichen werden:
$dateOne = '2020-01-01'; $dateTwo = '2021-01-01'; if($dateTwo > $dateOne){ echo 'Datum '.$dateTwo.' ist größer als '.$dateOne; }
Das ganze funktioniert jedoch nur mit dem oben angegebenen Format.
Warum ist das so?
Stellen wir uns das ganze Mal als Ganzzahl vor:
2020-01-01 wird zu 20200101
2021-01-01 wird zu 20210101
Daraus ergibt sich dann:
20210101 > 20200101 = WAHR
Im deutschen würden das Format wie folgt aussehen:
01.01.2020 wird zu 01012020
01.01.2021 wird zu 01012020
Daraus ergibt sich dann:
01012021 > 01012020 = WAHR
Verwendet man aber nun aber einen beliebigen anderen Tag oder Monat würde das ganze nicht mehr funktionieren.
01.01.2020 wird zu 01012020
01.05.2019 wird zu 01052019
Daraus ergibt sich dann:
01052019 > 01012020 = WAHR (obwohl das Datum im letzten Jahr liegt).
Zweite Methode #
Diese Methode ermöglicht es, auch verschiedene Formate miteinander zu vergleichen.
$dateOne = '15.01.2020'; $dateTwo = '2021-01-01'; if(strtotime($dateTwo) > strtotime($dateOne)){ echo 'Datum '.$dateTwo.' ist größer als '.$dateOne; }
Dritte Methode (OOP) #
Diese Methode ermöglicht neben dem Vergleich von Datumsangaben auch, die Differenz von Tagen, Monaten und Jahren zu ermitteln. Ferner verwendet sie den objektorientierten Ansatz von PHP und sollte, wenn möglich, immer verwendet werden.
$dateOne = '15.01.2020'; $dateTwo = '2021-01-01'; $D1 = new DateTime($dateOne); $D2 = new DateTime($dateTwo); if($D2 > $D1){ echo 'Datum '.$dateTwo.' ist größer als '.$dateOne; }
Alternative mit JavaScript #
Neben PHP kannst du den Vergleich von Datumsangaben auch bequem Clientseitig lösen. Hier habe ich einen Artikel geschrieben, der dir Zeigt wie das Ganze in JavaScript funktioniert.
Fazit #
Du siehst, das Vergleichen von zwei Daten in PHP ist dank OOP recht einfach und ermöglicht viele weitere Features.
Hast du noch Fragen oder Anmerkungen? Dann hinterlasse uns gerne einen Kommentar.
Artikel von:
Marc Wagner
Hallo, Marc hier. Ich bin der Gründer von Forge12 Interactive und bereits seit über 20 Jahren leidenschaftlich dabei Webseiten, Onlineshops, Anwendungen und SaaS-Lösungen für Unternehmen zu entwickeln. Vor der Gründung habe ich bereits in Börsen notierten Unternehmen gearbeitet und mir allerlei Wissen angeeignet. Dieses Wissen möchte ich nun an meine Kunden weitergeben.