【发布时间】:2018-02-07 22:51:49
【问题描述】:
我有碳日期变量。
Carbon::parse("2018-08-01") //tuesday
我想添加天数到下一个monday ("2018-08-07")。
有没有类似的命令
Carbon->addDaysUntil("monday"); ->addMonthUntil("september")
等等。
所以我想将当前日期更改为下周、月、年的开始
【问题讨论】:
标签: php php-carbon
我有碳日期变量。
Carbon::parse("2018-08-01") //tuesday
我想添加天数到下一个monday ("2018-08-07")。
有没有类似的命令
Carbon->addDaysUntil("monday"); ->addMonthUntil("september")
等等。
所以我想将当前日期更改为下周、月、年的开始
【问题讨论】:
标签: php php-carbon
您可以做的是确定当前日期,获取一周的开始(星期一)并添加一周以获得下一周。
$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);
【讨论】:
Carbon::now()->next(Carbon::MONDAY);