【发布时间】:2017-12-15 15:09:21
【问题描述】:
解决方案:
$mDatePeriod = new \DatePeriod(
Carbon::parse("First Monday of January 2018"),
CarbonInterval::week(),
Carbon::parse("Last Monday of January 2018")->addSecond(1)
);
我正在运行 Laravel 5.0,并且我正在使用 Carbon 库来计算以下内容。
例子:
我想要 2018 年 1 月的所有 星期一,所以我使用以下代码:
$mDatePeriod = new \DatePeriod(
Carbon::parse("First Monday of January 2018"),
CarbonInterval::week(),
Carbon::parse("Last Monday of January 2018")
);
如果我循环通过$mDatePeriod 并回显这一天:
foreach($mDatePeriod as $currentDay){
echo $currentDay->toDateString() . "<br/>";
}
输出将是:
2018-01-01
2018-01-08
2018-01-15
2018-01-22
这不是我所期待的,因为 2018-01-29(上周一)不见了。
如果我使用dd($mDatePeriod_Day) 上周一显示为日期结束:
我在这里错过了什么?
编辑 1:发现一些关于 CarbonInterval::week() 的有趣内容,它具有一些属性。会不会是first_last_day_of? :
【问题讨论】:
标签: php laravel datetime laravel-5 php-carbon