例如,我有一個像這樣的開始和結束日期:
輸入:
$startDate = 2022-01-03
$endDate = 2022-03-03
我想要的輸出是:
[0] => Array
(
[start] => 2022-01-03
[end] => 2022-01-31
)
[1] => Array
(
[start] => 2022-02-01
[end] => 2022-02-28
)
[2] => Array
(
[start] => 2022-03-01
[end] => 2022-03-03
)
uj5u.com熱心網友回復:
這應該作業...
$startDate = \Carbon\Carbon::parse('2022-01-03')->format('Y-m-d');
$endDate = \Carbon\Carbon::parse('2022-03-03')->format('Y-m-d');
$period = \Carbon\CarbonPeriod::create($startDate, '1 month', $endDate);
$p = array();
foreach ($period as $date) {
$p[] = (object)[
"start"=> ($date->firstOfMonth()->gt($startDate)) ? $date->firstOfMonth()->toDateString(): $startDate,
"end"=> ($date->lastOfMonth()->lt($endDate)) ? $date->lastOfMonth()->toDateString() : $endDate
];
}
print_r($p);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/432539.html
