我想在上周的Laravel 5.1中插入数据。目前我正在使用以下查询:
$AgoDate=\Carbon\Carbon::now()->subWeek()->format('Y-m-d'); // returns 2016-02-03
$NowDate=\Carbon\Carbon::now()->format('Y-m-d'); // returns 2016-02-10
$query->whereBetween('created_on', array($AgoDate,$NowDate));
这会返回最近7天的数据,但我需要上周的数据,这意味着它应该从1月31日到2月6日,即前一周返回数据。
注意:在我的情况下,周从星期日开始,到星期六结束。
答案 0 :(得分:5)
编辑:调整到OP的问题
以前的日期使用
$currentDate = \Carbon\Carbon::now();
$agoDate = $currentDate->subDays($currentDate->dayOfWeek)->subWeek();// gives 2016-01-31
同样,你可以获得你的nowDate
$currentDate = \Carbon\Carbon::now();
$nowDate = $currentDate->subDays($currentDate->dayOfWeek + 1); // gives 2016-02-06
调整周开始(星期日/星期一)我认为你可以添加/减去几天的日子,例如$currentDate->subDays($currentDate->dayOfWeek + 1 /* or -1 */);
编辑:如评论中所述,如果直接适合您,您也可以使用startOfWeek()
方法代替subDays()
。