首页 > 解决方案 > Laravel 雄辩的日期格式

问题描述

必须在我发疯之前发表这篇文章,因为我在网上找到的解决方案都没有奏效。

我的 Laravel 应用程序没有返回正确的数据,因为 Laravel 在运行查询时似乎在“坚持”使用“m/d/Y”作为日期格式。我的代码如下...

$now = date("d/m/Y H:i:s");
$previousTime = (new DateTime($now))->modify('-1 minutes')->format('d/m/Y H:i:s');
$count = PlayLog::where('user_id', 1)->whereDate('created_at', '>=', $previousTime)->get()->count();

数据以 d/m/Y 的形式存储在数据库中,但 Laravel 正在查询 m/d/Y。我怎样才能解决这个问题?

更新我现在很生气,但答案是 whereDate() 不支持时间:/

标签: phplaravel

解决方案


You can take leverage of Carbon

Import use Carbon\Carbon;

Date formatting via carbon to match your DB
$previousDT = Carbon::now()->addDay(-2)->format('d/m/Y H:i:s'); // 10/05/2020 23:05:06 PlayLog::whereDate('created_at', '>=', $previousDT)


推荐阅读