Carbon add days to next monday

What you can do is determine the current date, get the start of the week (Monday) and add a week to get the next week.

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

Rinse and repeat for months and years but as Maritim suggests it's in the docs. ;-)
Source: http://carbon.nesbot.com/docs/


Old question but there's a nice way of doing this at the moment.

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

Additionally, if you want to check if your date is monday first, you could do something like this:

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

Or using the Carbon constants as suggested by @smknstd in the comment below:

$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);

Tags:

Php

Php Carbon