如何减去两个日期在Laravel5.4
问题描述:
我的项目是用户的项目被保存在里面,并有START_TIME和finish_time和价格表,我把它作为具有此代码的形式:如何减去两个日期在Laravel5.4
<div class="form-group">
<input type="date" class="form-control" name="start_time" >
</div>
<div class="form-group">
<input type="date" class="form-control" name="finish_time" >
</div>
<div class="form-group">
<input type="text" class="form-control" name="price" >
</div>
现在,我想减去日期,如果结果是负面可以乘以价格和结果,我该如何做到这一点?
答
你应该做的是这样的:
$start_time = \Carbon\Carbon::parse($request->input('start_time'));
$finish_time = \Carbon\Carbon::parse($request->input('finish_time'));
$price = $request->input('price');
$result = $start_time->diffInDays($finish_time, false);
if ($result < 0) {
$price = $price * $result;
}
我不知道你想扣除哪些日期,所以请确保你有效。您应该使用:
$result = $start_time->diffInDays($finish_time, false);
或
$result = $finish_time->diffInDays($start_time, false);
请记住,您需要false
作为第二个参数传递给diffInDays
方法 - 否则,你总是会得到积极的结果。
答
在你的控制器的方法可以计算出差异:
$start_time = $request->input('start_time');
$start_time_ob = new \Carbon\Carbon($start_time);
或者您可以使用静态碳:: parse()方法:
$finish_time = $request->input('finish_time');
$finish_time_ob = \Carbon\Carbon::parse($date);
你的目的,你可以使用这个完整的例子:
$diff = $finish_time_ob->diffInDays($start_time_ob);
使用碳类 – Webdesigner
请写下我的代码 – Honey
**堆栈溢出不是一个免费的编码平台**。这里是文档http://carbon.nesbot.com/docs/ ...尝试一下吧!如果你有一些你认为应该工作但不需要的东西,请将它张贴在这里,我们正在空想帮助你。 – Webdesigner