Comparaison de chaînes de dates en PHP
Supposons que nous ayons deux dates dans le format texte suivant :
<?php
$date1 = '2020-12-01';
$date2 = '2019-12-01';
?>
Dans ce cas, il est possible de comparer ces dates et de savoir laquelle est la plus grande :
<?php
var_dump($date1 > $date2);
?>
Comment se déroule la comparaison de ces dates ? Le fait est que nos dates sont des chaînes de caractères et PHP les compare en tant que telles. C'est-à-dire qu'il compare d'abord les premiers caractères des deux dates : s'ils sont identiques, PHP compare les deuxièmes caractères, et ainsi de suite, jusqu'à ce qu'il trouve une différence. Grâce au fait que dans notre format de date l'année est placée en premier, puis le mois, puis le jour, une telle comparaison est possible.
Il est également important que les dates soient dans le même format. Dans notre cas, les séparateurs des parties de la date sont des traits d'union. Ce n'est bien sûr pas une obligation. Par exemple, on peut mettre des points :
<?php
$date1 = '2020.12.01';
$date2 = '2019.12.01';
?>
Ou même supprimer les séparateurs :
<?php
$date1 = '20201201';
$date2 = '20191201';
?>
L'essentiel, pour que la comparaison soit correcte, est que l'ordre soit le suivant : d'abord l'année, puis le mois, puis le jour.
Écrivez un code qui comparera les deux dates ci-dessous et affichera un message indiquant laquelle est la plus grande :
$date1 = '2020-11-30';
$date2 = '2020-12-01';