Générer un tableau de dates entre deux dates spécifiées en PHP
Cet extrait de code PHP vous aide à accomplir une tâche cruciale dans la manipulation de dates : générer un tableau contenant toutes les dates dans une plage spécifiée. Ce code y parvient avec succès en convertissant la plage de dates donnée en un tableau de dates.
Entrée attendue
L'entrée attendue pour ce code est une paire de dates dans le format 'AAAA-MM-JJ'. Par exemple, si vous souhaitez générer un tableau de dates entre le 1er octobre 2010 et le 5 octobre 2010, l'entrée serait :
getDatesFromRange( '2010-10-01', '2010-10-05' );
Sortie attendue
Le résultat attendu est un tableau contenant toutes les dates comprises dans la plage spécifiée. Dans l'exemple ci-dessus, le résultat serait :
Array( '2010-10-01', '2010-10-02', '2010-10-03', '2010-10-04', '2010-10-05' )
Solution
Ce code utilise deux approches pour générer un tableau de dates entre deux dates spécifiées :
Utiliser un Boucle :
Utilisation de la classe DatePeriod :
Implémentation du code
function getDatesFromRange($startDate, $endDate) { $dates = array(); // Convert the start and end dates to DateTime objects $startDateObj = new DateTime($startDate); $endDateObj = new DateTime($endDate); // Iterate from the start date to the end date, incrementing the day by one each iteration while ($startDateObj <= $endDateObj) { $dates[] = $startDateObj->format('Y-m-d'); $startDateObj->add(new DateInterval('P1D')); } return $dates; }
Exemple Utilisation
$dates = getDatesFromRange('2010-10-01', '2010-10-05'); print_r($dates);
Sortie
Array ( [0] => 2010-10-01 [1] => 2010-10-02 [2] => 2010-10-03 [3] => 2010-10-04 [4] => 2010-10-05 )
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!