Laravel Carbon从当前日期减去天数

时间:2016-12-13 13:25:06

标签: php laravel datetime php-carbon

我正在尝试从Model" Users"中提取对象。其created_at日期已超过今天30天

Carbon :: now()==>我想要==> Carbon :: now() - 30days

$users = Users::where('status_id', 'active')
               ->where( 'created_at', '<', Carbon::now())
               ->get();

如何实现这一目标?

3 个答案:

答案 0 :(得分:72)

使用subDays()方法:

$users = Users::where('status_id', 'active')
           ->where( 'created_at', '>', Carbon::now()->subDays(30))
           ->get();

答案 1 :(得分:2)

从 Laravel 5.6 开始,您可以使用 whereDate

$users = Users::where('status_id', 'active')
       ->whereDate( 'created_at', '>', now()->subDays(30))
       ->get();

你还有 whereMonth / whereDay / whereYear / whereTime

答案 2 :(得分:0)

您始终可以使用strtotime减去从当前日期算起的天数:

$users = Users::where('status_id', 'active')
           ->where( 'created_at', '>', date('Y-m-d', strtotime("-30 days"))
           ->get();