PHP Datum vergleichen

Marc Wagner, Januar 30, 2023

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.

Benutzerbild von Marc Wagner
Marc Wagner

Hi Marc here. I'm the founder of Forge12 Interactive and have been passionate about building websites, online stores, applications and SaaS solutions for businesses for over 20 years. Before founding the company, I already worked in publicly listed companies and acquired all kinds of knowledge. Now I want to pass this knowledge on to my customers.

Ähnliche Beiträge

Comments

Hinterlasse einen Kommentar