2017-10-07 163 views
0

我的項目是用戶的項目被保存在裏面,並有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> 

現在,我想減去日期,如果結果是負面可以乘以價格和結果,我該如何做到這一點?

+0

使用碳類 – Webdesigner

+0

請寫下我的代碼 – Honey

+3

**堆棧溢出不是一個免費的編碼平臺**。這裏是文檔http://carbon.nesbot.com/docs/ ...嘗試一下吧!如果你有一些你認爲應該工作但不需要的東西,請將它張貼在這裏,我們正在空想幫助你。 – Webdesigner

回答

0

你應該做的是這樣的:

$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方法 - 否則,你總是會得到積極的結果。

0

在你的控制器的方法可以計算出差異:

$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);