Laravel 5.4使用Carbon获得本周的每一天

时间:2017-08-25 05:16:49

标签: php laravel php-carbon

我一直在使用语法Carbon::now()->startOfWeek()Carbon::now()->endOfWeek()一段时间了。

它返回一周的第一天,即Monday的日期和一周的最后一天,即Sunday的日期。 (我不知道为什么不是周日和周六)

但是现在,我希望得到day的每个current week。那么剩下的就是TuesdayWednesdayThursdayFridaySaturday的日期。

以下是获取MondaySunday的确切语法。

$monday = Carbon::now()->startOfWeek();
$sunday = Carbon::now()->endOfWeek();

2 个答案:

答案 0 :(得分:7)

您可以使用float进行整周。

addDay()

您还可以查看一周中的哪一天。

$monday = Carbon::now()->startOfWeek();
$tuesday = $monday->copy()->addDay();
$wednesday = $tuesday->copy()->addDay();

答案 1 :(得分:1)

如果您想获得特殊日子的当前一周,请尝试使用此方法
1.-用您需要的日子创建一个碳日

$carbaoDay = Carbon::createFromFormat('Y-m-d', $request->day); 
//spesific day format 2000-01-00 

2次进入for循环仅需花一天时间

$carbaoDay->startOfWeek()->addDay($i)->format('Y-m-d');
$carbaoDay->startOfWeek() /// always monday
->addDay($i)->format('Y-m-d'); //$i =1 push: 2000-01-01 ,;//$i =2 push: 2000-01-02
$carbaoDay = Carbon::createFromFormat('Y-m-d', $request->day); //spesific day

$week = []; 
for ($i=0; $i <7 ; $i++) {
    $week[] = $carbaoDay->startOfWeek()->addDay($i)->format('Y-m-d');//push the current day and plus the mount of $i 
}

output:
    array:7 [
  0 => "2020-01-06"
  1 => "2020-01-07"
  2 => "2020-01-08"
  3 => "2020-01-09"
  4 => "2020-01-10"
  5 => "2020-01-11"
  6 => "2020-01-12"
]