如何在 Laravel5.4 中减去两个日期

Hon*_*ney 2 date laravel php-carbon laravel-5 laravel-5.4

我是用户项目保存在其中的项目表,并具有 start_time 和 finish_time 以及价格,我将其作为具有以下代码的表单提供:

<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>
Run Code Online (Sandbox Code Playgroud)

现在,我想减去日期,如果结果为负 可以乘以价格和结果,我该怎么做?

Mar*_*łek 5

你应该做的是这样的:

$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;
}
Run Code Online (Sandbox Code Playgroud)

我不知道你想减去哪些日期,所以请确保你是有效的。您应该使用:

$result = $start_time->diffInDays($finish_time, false);
Run Code Online (Sandbox Code Playgroud)

或者

$result = $finish_time->diffInDays($start_time, false);
Run Code Online (Sandbox Code Playgroud)

请记住,您需要将false第二个参数作为diffInDays方法传递- 否则您将始终获得积极的结果。