首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >carbon开始一周的周日和endOfWeek周六不工作

carbon开始一周的周日和endOfWeek周六不工作
EN

Stack Overflow用户
提问于 2020-02-25 21:18:31
回答 3查看 2.2K关注 0票数 3

我需要选择一个特定的用户每周的最高分。我使用Carbon,并将Carbon startofWeek设置为周日,将endOfWeek设置为周六。

这是我的数据库数据

代码语言:javascript
运行
复制
id  user_id score   created_at            updated_at
43  33      88      2020-02-23 00:00:00     NULL
44  33      15      2020-02-24 00:00:00     NULL
45  33      42      2020-02-24 00:00:00     NULL
46  33      86      2020-02-25 00:00:00     NULL
47  33      100     2020-02-04 00:00:00     NULL 

以下是我的代码

代码语言:javascript
运行
复制
     $week = GameScore::select(max('score')
             ->where('created_at', '>=', Carbon::now()->startOfWeek(Carbon::SUNDAY))
             ->where('created_at', '<=', Carbon::now()->endOfWeek(Carbon::SATURDAY))
             ->where('user_id', $user->id)
            ->get();

根据我的数据,我需要得到88分作为结果,因为这个分数是在2月23日星期天获得的,这是从本周开始的一周,到今天为止所有其他分数都不会大于这个分数。

EN

回答 3

Stack Overflow用户

发布于 2020-02-25 21:27:50

在代码中,您需要在比较时指定日期格式,

代码语言:javascript
运行
复制
Carbon::now()->endOfWeek(Carbon::SATURDAY)->format('Y-m-d H:i:s');
票数 3
EN

Stack Overflow用户

发布于 2020-02-25 21:27:26

代码语言:javascript
运行
复制
$en = CarbonImmutable::now()->locale('en_US');


 $ar = CarbonImmutable::now()->locale('ar');



// We still can force to use an other day as start/end of week
   $start = $en->startOfWeek(Carbon::TUESDAY);
   $end = $en->endOfWeek(Carbon::SATURDAY);

var_dump($ar->endOfWeek()->format('Y-m-d H:i'));

是为我工作的

票数 1
EN

Stack Overflow用户

发布于 2021-10-07 07:48:32

您可以使用碳静态函数setWeekStartsAt设置一周的开始日期,也可以使用该函数计算出一周的结束日期。

代码语言:javascript
运行
复制
public static function getWeekStartAndEndDates($date, $startDayIndex = Carbon::SATURDAY)
    {
        $date = Carbon::parse($date);
        $date::setWeekStartsAt($startDayIndex);

        $from = $date->startOfWeek();

        $date::setWeekEndsAt($from->copy()->addDays(6)->dayOfWeek);
        $to = $date->copy()->endOfWeek();

        return ['from' => $from, 'to' => $to];
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60395554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档