Confronto di stringhe con date in PHP
Supponiamo di avere due date nel seguente formato testuale:
<?php
$date1 = '2020-12-01';
$date2 = '2019-12-01';
?>
In questo caso è possibile eseguire il confronto di queste date e scoprire quale delle due è maggiore:
<?php
var_dump($date1 > $date2);
?>
In che modo avviene il confronto di queste date? Il fatto è che le nostre date sono stringhe e PHP le confronta come stringhe. Cioè, prima confronta i primi caratteri delle due date: se sono uguali, allora PHP confronta i secondi caratteri, e così via, finché non trova una differenza. Grazie al fatto che nel nostro formato la data ha prima l'anno, poi il mese, e poi il giorno, è possibile un tale confronto.
È importante anche che le date siano nello stesso formato. Nel nostro caso, i separatori delle parti della data sono trattini. Questo, ovviamente, non è obbligatorio. Ad esempio, si possono mettere dei punti:
<?php
$date1 = '2020.12.01';
$date2 = '2019.12.01';
?>
O addirittura rimuovere i separatori:
<?php
$date1 = '20201201';
$date2 = '20191201';
?>
L'importante è che il confronto sia corretto, il posizionamento deve essere il seguente: prima l'anno, poi il mese, poi il giorno.
Scrivi il codice che confronta le due date riportate di seguito e visualizza un messaggio su quale delle due è maggiore:
$date1 = '2020-11-30';
$date2 = '2020-12-01';