碳添加天到下周一

Carbon add days to next monday

我有碳日期变量。

Carbon::parse("2018-08-01") //tuesday

我想添加几天到下一个 monday ("2018-08-07")

有没有类似的命令

 Carbon->addDaysUntil("monday"); ->addMonthUntil("september")

等等。

所以我想将当前日期更改为下周、月、年的开始

您可以做的是确定当前日期,获取一周的开始(星期一)并添加一周以获得下一周。

$date = Carbon::create(2017, 8, 30);
$monday = $date->startOfWeek();
$mondayOneWeekLater = $date->addWeeks(1); // $date->addWeek();

冲洗并重复数月和数年,但正如 Maritim 在文档中所建议的那样。 ;-)
资料来源:http://carbon.nesbot.com/docs/

老问题,但目前有一个很好的方法。

$date = Carbon::parse('2018-08-01')->next('Monday');

此外,如果您想首先检查您的日期是否是星期一,您可以这样做:

$date = Carbon::parse(...);
// If $date is Monday, return $date. Otherwise, add days until next Monday.
$date = $date->is('Monday') ? $date : $date->next('Monday');

或使用@smknstd 在以下评论中建议的碳常数:

$date = Carbon::parse(...);
// If $date is Monday, return $date. Otherwise, add days until next Monday.
$date = $date->is(Carbon::MONDAY) ? $date : $date->next(Carbon::MONDAY);