碳增加到下周一

Dem*_*unt 4 php php-carbon

我有Carbon日期变量。

Carbon::parse("2018-08-01") //tuesday
Run Code Online (Sandbox Code Playgroud)

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

有没有像这样的命令

 Carbon->addDaysUntil("monday"); ->addMonthUntil("september")
Run Code Online (Sandbox Code Playgroud)

等等。

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

IGP*_*IGP 27

老问题,但目前有一种很好的方法可以做到这一点。

$date = Carbon::parse('2018-08-01')->next('Monday');
Run Code Online (Sandbox Code Playgroud)

此外,如果您想先检查您的日期是否是星期一,您可以执行以下操作:

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

或者使用@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);
Run Code Online (Sandbox Code Playgroud)

  • 感谢分享,因为在 Carbon 文档中找到这一点并不容易。我发现你可以使用 const 而不是字符串作为参数: `Carbon::now()->next(Carbon::MONDAY);` (8认同)

Edw*_*win 8

您可以做的是确定当前日期,获取本周的开始时间(星期一),然后添加一周以获取下周。

$date = Carbon::create(2017, 8, 30);
$monday = $date->startOfWeek();
$mondayOneWeekLater = $date->addWeek(1);
Run Code Online (Sandbox Code Playgroud)

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