【问题标题】:Laravel Carbon get start + end of last week?Laravel Carbon 上周开始 + 结束?
【发布时间】:2020-02-16 18:03:16
【问题描述】:

我有 laravel carbon 用于开始 + 本周结束:

$startofcurrentweek =Carbon::now()->startOfWeek(); //2020-02-17 00:00:00
$endofcurrentweek =Carbon::now()->endOfWeek(); //2020-02-23 23:59:59

如何使用碳获得上周开始,...所以我可以得到,

$startoflasttweek  = 2020-02-10 00:00:00
$endoflastweek  = 2020-02-16 23:59:59

【问题讨论】:

    标签: laravel php-carbon


    【解决方案1】:

    您可以从当前周的开始减去 7 天,或者从现在减去 7 天并获得一周的开始。

    $startOfCurrentWeek = Carbon::now()->startOfWeek(); 
    
    $startOfLastWeek  = $startOfCurrentWeek->copy()->subDays(7);
    $startOfLastWeek  = Carbon::now()->subDays(7)->startOfWeek();
    

    最后一周也一样。

    【讨论】:

      【解决方案2】:

      Porloscerros 的答案是正确的,但需要一点修正:

      $startOfCurrentWeek = Carbon::now()->startOfWeek(); 
      
      $startOfLastWeek  = $startOfCurrentWeek->copy()->subDays(7);
      
      $startOfLastWeek  = Carbon::now()->subDays(7)->startOfWeek()->endOfDay();
      

      with ->endOfDay() 这将返回 23:59:59 9999.99 而不是 00:00:00(一天的开始)

      或者您可以使用 ->endOfWeek() 获得相同的结果

      【讨论】:

        猜你喜欢
        • 2016-08-11
        • 1970-01-01
        • 1970-01-01
        • 2019-01-04
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 2021-05-07
        • 2012-07-25
        相关资源
        最近更新 更多