Porovnávanie reťazcov s dátumami v PHP
Majme dve dátumy v nasledovnom textovom formáte:
<?php
$date1 = '2020-12-01';
$date2 = '2019-12-01';
?>
V takom prípade je možné vykonať porovnanie týchto dátumov a zistiť, ktorý z týchto dátumov je väčší:
<?php
var_dump($date1 > $date2);
?>
Ako prebieha porovnávanie týchto dátumov? Vec sa má tak, že naše dátumy predstavujú reťazce a PHP ich porovnáva ako reťazce. To znamená, že najprv porovnáva prvé znaky dvoch dátumov: ak sú rovnaké, potom PHP porovnáva druhé znaky, a tak ďalej, kým nenájde rozdiel. Vďaka tomu, že v našom formáte dátumu je najprv umiestnený rok, potom mesiac a potom deň, je takéto porovnanie možné.
Je tiež dôležité, aby dátumy boli v rovnakom formáte. V našom prípade sú oddeľovačmi častí dátumov pomlčky. To, samozrejme, nie je nevyhnutné. Napríklad, je možné použiť bodky:
<?php
$date1 = '2020.12.01';
$date2 = '2019.12.01';
?>
Alebo úplne odstrániť oddeľovače:
<?php
$date1 = '20201201';
$date2 = '20191201';
?>
Hlavné je, aby porovnanie bolo korektné, umiestnenie musí byť nasledovné: najprv rok, potom mesiac, potom deň.
Napíšte kód, ktorý porovná dve uvedené nižšie dátumy a vypíše správu o tom, ktorý z nich je väčší:
$date1 = '2020-11-30';
$date2 = '2020-12-01';