Maison >développement back-end >tutoriel php >Comment obtenir toutes les dates entre deux dates dans un tableau PHP ?

Comment obtenir toutes les dates entre deux dates dans un tableau PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-23 04:02:14666parcourir

How to Get All Dates Between Two Dates in a PHP Array?

PHP : renvoyer toutes les dates entre deux dates dans un tableau

Étant donné deux dates, une tâche courante consiste à récupérer toutes les dates comprises dans cette plage . Ceci peut être réalisé grâce à diverses approches en PHP.

Méthode 1 : Utiliser une boucle

La solution la plus simple consiste à utiliser une boucle pour parcourir chaque jour dans la plage spécifiée . Voici un exemple :

<?php
function getDatesFromRange($start_date, $end_date) {
    $dates = array();

    $start = new DateTime($start_date);
    $end   = new DateTime($end_date);
    $end->add(new DateInterval('P1D'));

    $temp = $start;
    while ($temp <= $end) {
        $dates[] = $temp->format('Y-m-d');
        $temp->add(new DateInterval('P1D'));
    }

    return $dates;
}

Méthode 2 : Utilisation de la classe DatePeriod

PHP fournit également la classe DatePeriod pour gérer les plages de dates. Voici comment vous pouvez l'utiliser :

<?php
function getDatesFromRange($start_date, $end_date) {
    $period = new DatePeriod(
        new DateTime($start_date),
        new DateInterval('P1D'),
        new DateTime($end_date)
    );

    $dates = array();
    foreach ($period as $date) {
        $dates[] = $date->format('Y-m-d');
    }

    return $dates;
}

Output

Les deux méthodes renvoient un tableau de dates dans la plage spécifiée, comme indiqué dans le résultat attendu :

Array( '2010-10-01', '2010-10-02', '2010-10-03', '2010-10-04', '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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn