Kira bilangan hari dalam julat tarikh bertindih atau tidak bertindih: PHP dan kaedah pelaksanaan Karbon
P粉754477325
P粉754477325 2023-09-09 14:50:29
0
1
547

Bagaimana untuk mendapatkan bilangan hari untuk 2 atau lebih julat tarikh yang berpotensi bertindih (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);

Sebagai contoh, seperti yang ditunjukkan di atas, saya mempunyai 3 julat tarikh. Saya perlu mendapatkan jumlah bilangan hari tidak bertindih dalam kesemua 3 julat tarikh. Dalam contoh ini, ia akan menjadi 20 hari. Adakah terdapat kaedah terbina dalam Carbon/CarbonPeriod untuk mencapai ini?

P粉754477325
P粉754477325

membalas semua(1)
P粉475126941

Anda hanya boleh menggabungkan dan menyahduakannya.

$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()));
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan