Berechnen Sie die Anzahl der Tage in überlappenden oder nicht überlappenden Datumsbereichen: PHP- und Carbon-Implementierungsmethode
P粉754477325
P粉754477325 2023-09-09 14:50:29
0
1
456

Wie erhalte ich die Anzahl der Tage für zwei oder mehr potenziell überlappende Datumsbereiche (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);

Zum Beispiel habe ich, wie oben gezeigt, drei Datumsbereiche. Ich muss die Gesamtzahl der sich nicht überschneidenden Tage in allen drei Datumsbereichen ermitteln. In diesem Beispiel wären es 20 Tage. Gibt es in Carbon/CarbonPeriod eine integrierte Methode, um dies zu erreichen?

P粉754477325
P粉754477325

Antworte allen (1)
P粉475126941

你可以只需合并和去重它们。

$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()));
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!