如何在laravel中以不同的方式比较日期和时间

Par*_*gre 3 javascript jquery laravel

我正在使用 laravel 从我的客户那里获取日期和时间。我们如何将给定的日期和时间与数据库进行比较并将结果返回给客户?

例如,如果我从客户那里获取日期和时间,并且我想向他显示与他的日期和时间不冲突的行。

luk*_*ter 5

实际上,您可以在数据库查询中完成所有这些操作:

$date = '2015-03-11 06:29:56';
$alreadyBooked = DB::table('bookings')
                   ->whereRaw('ABS(TIMESTAMPDIFF(MINUTE, datetime, ?)) <= 120', [$date])
                   ->exists();

if($alreadyBooked){
    // show error
}
Run Code Online (Sandbox Code Playgroud)

解释

?是 的占位符$date。这些称为绑定,主要用于获得干净的查询并防止 SQL 注入。

TIMESTAMPDIFF(MINUTE, ...将返回输入日期时间与存储在数据库字段中的时间的差异(以分钟为单位)。如果该值小于或等于 120(2 小时 = 120 分钟),则它符合条件。

ABS将使值“无符号”。-60变成60