我正在尝试获取在同一日期创建的 users,但我的数据库上的时间采用 UTC 格式,因此当 user 是在 10:00 pm(当地时间)创建的,它存储为第二天的 01:00 am,所以当我使用 whereDate('created_at', '=', Carbon::now('America/Sao_Paulo')) 时,它不会得到 user.
3 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
尝试whereBetween
改为
Model::whereBetween('created_at', [Carbon::now()->startOfDay(), Carbon::now()->endOfDay()])->get();
其他可能的方式:
where('created_at', '>=', date('Y-m-d').' 00:00:00'));
whereDate('created_at', '=', date('Y-m-d'));
whereDate('created_at', '=', Carbon::today()->toDateString());
绝地无双
TA贡献1946条经验 获得超4个赞
我首先获得了当地时间的开始/结束时间,然后将其转换回 UTC。一个>
$start_of_day = Carbon::now('America/Sao_Paulo')->startOfDay()->utc();
$end_of_day = Carbon::now('America/Sao_Paulo')->endOfDay()->utc();
return User::whereBetween('created_at',[$start_of_day,$end_of_day])->get();
- 3 回答
- 0 关注
- 132 浏览
添加回答
举报
0/150
提交
取消