【问题标题】:Laravel 5.4 get every day of the current week using CarbonLaravel 5.4 使用 Carbon 获取本周的每一天
【发布时间】:2018-02-03 02:46:55
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: php laravel php-carbon


    【解决方案1】:

    您可以通过addDay() 完成这一周。

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

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

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

    【讨论】:

      【解决方案2】:

      如果您想获取特定日期的当前周,请尝试使用此
      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"
      ]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-06
        • 1970-01-01
        • 1970-01-01
        • 2016-08-11
        • 2013-04-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多