Calculer le nombre de jours dans des plages de dates qui se chevauchent ou non : méthode d'implémentation PHP et Carbon
P粉754477325
P粉754477325 2023-09-09 14:50:29
0
1
455

Comment obtenir le nombre de jours pour 2 plages de dates ou plus potentiellement se chevauchant (CarbonPeriod) ?

$startDate_1 = '2022-12-01'; $endDate_1 = '2022-12-10'; $startDate_2 = '2022-12-06'; $endDate_2 = '2022-12-15'; $startDate_3 = '2022-12-21'; $endDate_3 = '2022-12-25'; $dateRange_1 = CarbonPeriod::create($startDate_1, $endDate_1); $dateRange_2 = CarbonPeriod::create($startDate_2, $endDate_2); $dateRange_3 = CarbonPeriod::create($startDate_3, $endDate_3);

Par exemple, comme indiqué ci-dessus, j'ai 3 plages de dates. Je dois obtenir le nombre total de jours sans chevauchement dans les 3 plages de dates. Dans cet exemple, ce serait 20 jours. Existe-t-il une méthode intégrée dans Carbon/CarbonPeriod pour y parvenir ?

P粉754477325
P粉754477325

répondre à tous (1)
P粉475126941

Vous pouvez simplement les fusionner et les dédupliquer.

$startDate_1 = '2022-12-01'; $endDate_1 = '2022-12-10'; $startDate_2 = '2022-12-06'; $endDate_2 = '2022-12-15'; $startDate_3 = '2022-12-21'; $endDate_3 = '2022-12-25'; $dateRange_1 = CarbonPeriod::create($startDate_1, $endDate_1); $dateRange_2 = CarbonPeriod::create($startDate_2, $endDate_2); $dateRange_3 = CarbonPeriod::create($startDate_3, $endDate_3); // 20个日期,只包含没有重复的日期。 $uniqueDays = array_unique(array_merge($dateRange_1->toArray(), $dateRange_2->toArray(), $dateRange_3->toArray()));
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!