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

Laravel 5.4 get every day of the current week using Carbon

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

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

但是现在,我想获得 current week 中的每一个 day。所以剩下的就是 TuesdayWednesdayThursdayFridaySaturday.

的日期

这是我获取 MondaySunday 的确切语法。

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

您可以在 addDay() 的一周内进步。

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

您还可以查看您是星期几。

$wednesday === Carbon::WEDNESDAY; // true

如果您想获取特定日期的当前周,请尝试使用此方法
1.- 在您需要的那一天创建一个低碳日

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

2 after 进入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"
]