【发布时间】:2020-11-08 05:09:33
【问题描述】:
我有一个可自定义的 DateInterval 对象,以及一个可自定义的开始和结束日期。我想使用间隔查找开始和结束之间的日期。我正在使用 Carbon 来帮助解决这个问题。
问题来了:
我的间隔是???月,但开始日期 > 28 我无法使用 CarbonPeriod 控制溢出。
这是我正在测试的代码:
$di = CarbonInterval::create('P1M');
$start = Carbon::parse('31 january 2020')->startOfDay();
$end = Carbon::parse('01 april 2020')->startOfDay();
$period = CarbonPeriod::create($start, $di, $end);
$items = [];
foreach ($period as $item) {
$items[] = $item;
}
我希望以上结果
2020-01-31
2020-02-29
2020-03-30
但我明白了
2020-01-31
2020-03-02
2020-04-02
请记住,DateInterval 是可自定义的(或者我只会使用 Carbon::addMonthNoOverflow())。
任何人都可以帮助我实现上述目标吗?
【问题讨论】:
标签: php symfony datetime php-carbon dateinterval