Laravel 在一小时内获得所有结果
我正努力在一小时内得到所有结果。不是过去的一小时,而是一小时之内 例如,如果当前是12:30,我希望得到12:00之后的所有结果,而不是11:30。或者如果是6:45,我想得到6:00以后的所有结果,而不是5:45 我如何使用碳和Laravel做到这一点 以下是到目前为止我得到的信息:Laravel 在一小时内获得所有结果,laravel,laravel-5,laravel-5.3,php-carbon,Laravel,Laravel 5,Laravel 5.3,Php Carbon,我正努力在一小时内得到所有结果。不是过去的一小时,而是一小时之内 例如,如果当前是12:30,我希望得到12:00之后的所有结果,而不是11:30。或者如果是6:45,我想得到6:00以后的所有结果,而不是5:45 我如何使用碳和Laravel做到这一点 以下是到目前为止我得到的信息: $user = User::where('created_at', WHAT DO I PUT HERE) ->get(); 您可以使用now()和subHour()方法: $user = Use
$user = User::where('created_at', WHAT DO I PUT HERE)
->get();
您可以使用now()
和subHour()
方法:
$user = User::where('created_at', '>', Carbon::now()->subHour())->get();
您可以使用以下简单的PHP函数实现这一点
$user = User::where('created_at', '>', date('Y-m-d H:00:00'))->get();
我知道,你在寻找碳的解决方案。出于可读性和可移植性的原因,下面介绍本机OOP PHP日期时间解决方案
$user = User::where('created_at', '>=', (new DateTime)->format('Y-m-d H:00:00'))
->get();
注意>=操作符 要做到这一点,你必须得到当前的小时,没有分秒。然后运行查询以在该时间之后返回结果
$currentHourInt = Carbon::now('Asia/Dhaka')->hour;
$currentHour = Carbon::createFromTime($currentHourInt,0,0);
$user = User::where('created_at','>',$currentTime)
->get();
在上面的示例中,$currentHourInt
将返回当前时间的整数值。例如,如果它是13:54:12
,它将返回13
。我使用Aisa/Dhaka
作为我的时区,如果您的数据保存在UTC
时间中,您可以使用您的时区,也可以将其留空。$currentHour
使用当前小时、0分钟和0秒创建当前时间。例如,如果它是13:54:12
,它将返回13:00:00
有关碳的更多信息:
希望它能对你有所帮助,你可以使用这个方法
User::whereBetween('created_at', [date('Y-m-d H:00:00'), date(Y-m-d H:i:s)])->get();