如何使用 Laravel 和 Carbon 在两个 x 天数之间进行查询?

How to query between two x amount of days using Laravel and Carbon?

我正在尝试检索过去 30 到 60 天的数据。这意味着我将省略第 0 到 30 天以及第 60 天之后的所有内容。

我目前的进度是这样的:

$previousMonth = DB::table('table')
->select('table.*')
->whereBetween('date', [Carbon::now()->subDays(30), Carbon::now()->subDays(60)])
->get();

return $previousMonth;

"date" 在 mysql 数据库中的数据类型为 DATETIME。

更改顺序,因为 Carbon::now()->subDays(30) 大于 Carbon::now()->subDays(60),您可以使用 startOfDay() 获取一天的开始:

->whereBetween('date', [Carbon::now()->subDays(60)->startOfDay(), Carbon::now()->subDays(30)->startOfDay()])

试试这个startOfDay()

use Carbon\Carbon;

$previousMonth = DB::table('table')
->select('table.*')->whereBetween('date', [Carbon::now()->subDays(60)->startOfDay(), Carbon::now()->subDays(30)->startOfDay()])->get();

return $previousMonth;

参考这个Link

http://carbon.nesbot.com/docs/