Home » Php » php – Carbon add days to next monday

php – Carbon add days to next monday

Posted by: admin July 12, 2020 Leave a comment

Questions:

I have Carbon date variable.

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

I want to add days until next monday ("2018-08-07").

Is there command like

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

and so on.

So i want to change current date to begining of next week, month, year

How to&Answers:

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/

Answer:

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