2017-05-09 4 views
0

laravelに、開始日と終了日を指定して終了日を計算する関数を記述しています。それをデータベースに格納します。終了日を取得する方法、開始日と日数がlaravel 5.3で指定されている場合

これは、私が出ているものです:

public function store(Request $request) 
    { 
     $it = new iternary; 

     $it->StartDate = Input::get("StartDate"); 

     $it->NoPeople = Input::get("NoPeople"); 

     $it->NoDays = Input::get("NoDays"); 

     (int)$ttemp=$it->NoDays; 

     $it->budget = Input::get("budget"); 

     $EndDate = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d') + $it- 
     >NoDays, date('Y'))); 

     $it->EndDate = $EndDate; 

     $it->save(); 

     return view('success'); 

    } 

しかし、これは私に間違った出力を提供します。 開始日と同じ終了日が与えられます。 お願いします。あなたはこのようにそれを行うことができます おかげ

+1

:しかし、PHPで、あなたはこれを試すことができますか? – Daan

+0

私はちょうどlaravelで始まっていますので、炭素の日付は確かにわかりません あなたは実証できますか? – Crane1912

+0

終了日を作成するときに開始日を完全に無視しているとすれば、間違っているのは間違いありません。 –

答えて

2

は、炭素で加減算について

$startDate = new \Carbon\Carbon('2017-05-09') 
$endDate = $startDate->addDays('10') 

さらなる詳細は、こちらhere

を見つけることができますまた、修正のためのPHPのデフォルトのDateTimeクラスを使用することができ、

$date = new DateTime('2017-05-09') 
$date->modify('+ 10 days') 
$date->modify('-1 month') 
$date->modify('next year') 
$date->modify('previous month') 

など

+0

あなたの解決策は働いた! – Crane1912

0

私はlaravelのCarbonの日付についてあまり気づいていません。 laravelが付属しています `Carbon`パッケージを使用しないのはなぜ

$startDate = '2017-05-09'; 
$days = 3; 
$dayStr = $days == 1 ? 'day' : 'days'; 

echo date('Y-m-d', strtotime('+ '.$days. ' '.$dayStr, strtotime($startDate))); 

Demo

関連する問題