如何在拉拉维尔中以不同的方式比较日期和时间
How to compare date and time differently in laravel
我正在使用 laravel 从客户端获取日期和时间。如何将给定的日期和时间与数据库进行比较,并将结果返回给客户?
例如,如果我从客户那里获取日期和时间,并且我想向他显示与他的日期和时间不冲突的行。
实际上,
您可以在数据库查询中执行所有这些操作:
$date = '2015-03-11 06:29:56';
$alreadyBooked = DB::table('bookings')
->whereRaw('ABS(TIMESTAMPDIFF(MINUTE, datetime, ?)) <= 120', [$date])
->exists();
if($alreadyBooked){
// show error
}
解释
?
是 $date
的占位符。这些称为绑定,主要用于获取干净的查询并防止SQL注入。
TIMESTAMPDIFF(MINUTE, ...
将返回输入日期时间和存储在数据库字段中的时间(以分钟为单位)的差值。如果该值小于或等于 120(2 小时 = 120 分钟),则与条件匹配。
ABS
将使值"无符号"。 -60
变得60
在Laravel中,您可以使用Carbon来比较日期/时间
例
$start = new Carbon'Carbon('2014-01-05 12:00:00');
$end = new Carbon'Carbon('2014-01-01 12:00:00');
echo $end->diffInDays($start);
或者您可以直接从数据库比较日期
$customer =App'Customer::first();
$start = $customer->db_date_column;
$end = new Carbon'Carbon('2014-01-01 12:00:00');
echo $end->diffInDays($start);
更多信息 http://carbon.nesbot.com/docs/#api-difference
更新 如果您希望时间差异以小时为单位,则可以改用此$end-diffInHours($start);
。
可以使用此示例:
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
在拉拉维尔只是不要忘记添加这个:
use DateTime;
另一种选择是您可以使用SQL,请查看我的示例:
return DB::table('corporation')->join('corporation_subscription','corporation.id','=','corporation_subscription.corp_id')
->where('corporation.id','=',$id)
->where('corporation_subscription.period','>=',DB::raw('DATEDIFF(NOW(),corporation_subscription.created_at)'))
->where('corporation_subscription.status','!=', 'cancel' )
->get();
这也将帮助您:DB::raw('DATEDIFF(NOW(),corporation_subscription.created_at)'))
相关文章:
- 比较从函数和生成的日期对象
- 为什么这在IE中的工作方式与在Firefox中不同
- 如何使用 node.js 比较两个 json 数组
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- jQuery自定义验证比较多个输入的序列
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 使用javascript存储变量的最安全方式
- 反向字符串比较
- 以可优化的方式使用requirejs加载模板
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- 通过JSON&比较时间
- 如何在拉拉维尔中以不同的方式比较日期和时间
- Javascript:与正则表达式或其他方式进行比较
- 比较对象数组,最佳方式
- 是否有任何javascript库可以使用HTML5画布(或任何其他方式)对图像进行像素比较
- 创建字符串筛选器比较的最佳方式
- JavaScript/JQuery字符串比较不工作或至少不是我认为它应该的方式
- PHP和Javascript进行比较的方式不同