PHP Datum vergleichen

Marc Wag­ner

Okto­ber 19, 2020

2 min read|

In die­sem Tuto­ri­al erklä­ren wir euch, wie du zwei Daten in PHP mit­ein­an­der ver­glei­chen kannst. Zwei Daten in PHP zu ver­glei­chen ist sehr ein­fach.

Erste Methode #

Wenn bei­de Daten das glei­che For­mat haben, kön­nen die Strings wie folgt ver­gli­chen wer­den:

$dateOne = '2020-01-01';
$dateTwo = '2021-01-01';

if($dateTwo > $dateOne){
    echo 'Datum '.$dateTwo.' ist größer als '.$dateOne;
}

Das gan­ze funk­tio­niert jedoch nur mit dem oben ange­ge­be­nen For­mat.

War­um ist das so?
Stel­len wir uns das gan­ze Mal als Ganz­zahl vor:
2020-01-01 wird zu 20200101
2021-01-01 wird zu 20210101

Dar­aus ergibt sich dann:
20210101 > 20200101 = WAHR

Im deut­schen wür­den das For­mat wie folgt aus­se­hen:
01.01.2020 wird zu 01012020
01.01.2021 wird zu 01012020

Dar­aus ergibt sich dann:
01012021 > 01012020 = WAHR

Ver­wen­det man aber nun aber einen belie­bi­gen ande­ren Tag oder Monat wür­de das gan­ze nicht mehr funk­tio­nie­ren.

01.01.2020 wird zu 01012020
01.05.2019 wird zu 01052019

Dar­aus ergibt sich dann:
01052019 > 01012020 = WAHR (obwohl das Datum im letz­ten Jahr liegt).

Zweite Methode #

Die­se Metho­de ermög­licht es, auch ver­schie­de­ne For­ma­te mit­ein­an­der zu ver­glei­chen.

$dateOne = '15.01.2020';
$dateTwo = '2021-01-01';

if(strtotime($dateTwo) > strtotime($dateOne)){
    echo 'Datum '.$dateTwo.' ist größer als '.$dateOne;
}

Dritte Methode (OOP) #

Die­se Metho­de ermög­licht neben dem Ver­gleich von Datums­an­ga­ben auch, die Dif­fe­renz von Tagen, Mona­ten und Jah­ren zu ermit­teln. Fer­ner ver­wen­det sie den objekt­ori­en­tier­ten Ansatz von PHP und soll­te, wenn mög­lich, immer ver­wen­det wer­den.

$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 Ver­gleich von Datums­an­ga­ben auch bequem Cli­ent­sei­tig lösen. Hier habe ich einen Arti­kel geschrie­ben, der dir Zeigt wie das Gan­ze in Java­Script funk­tio­niert.

Fazit #

Du siehst, das Ver­glei­chen von zwei Daten in PHP ist dank OOP recht ein­fach und ermög­licht vie­le wei­te­re Fea­tures.

Hast du noch Fra­gen oder Anmer­kun­gen? Dann hin­ter­las­se uns ger­ne einen Kom­men­tar.

88e86fcb816eff22bc917094df2862d8dd5c0e978b333e6dd5f36f808990c261 96

Arti­kel von:

Marc Wag­ner

Hi Marc here. I’m the foun­der of Forge12 Inter­ac­ti­ve and have been pas­sio­na­te about buil­ding web­sites, online stores, appli­ca­ti­ons and SaaS solu­ti­ons for busi­nesses for over 20 years. Befo­re foun­ding the com­pa­ny, I alre­a­dy work­ed in publicly lis­ted com­pa­nies and acqui­red all kinds of know­ledge. Now I want to pass this know­ledge on to my cus­to­mers.

Hast du eine Fra­ge? Hin­ter­lass bit­te einen Kom­men­tar