2016-12-18 40 views
1

私は時差を計算してデータベースに挿入したい...私のモデル名は "予約"で、開始時間と終了時間はユーザーから入力されます..そしてtotal_durationこれらの2つから計算され、データベースに挿入されます...私はこれらのコードを使用します...しかし、動作しません。これは私のコントローラです。カーボンを使用してユーザーからの入力を受け入れるlaravelの時間計算

<?php 
/*namespace App\booking;*/ 
use Carbon\Carbon; 
namespace App\Http\Controllers; 
use App\booking; 
use Illuminate\Http\Request; 
use Illuminate\Database\Eloquent\Model; 

    class RoombookController extends Controller 
    { 
    public function showreport(Request $request) 
    { 
    /* dd($request->all()); 
    */ $time= Carbon.now(); 
     $booking = new booking; 
     $booking->bookdate = $request->input('bookdate'); 
     $booking->roomname = $request->input('roomname'); 
     //echo $datefrom; 
     $booking->starttime =$startTime= $request->input('starttime'); 
     $booking->endtime = $finishTime=$request->input('endtime'); 
     $booking->purpose = $request->input('Purpose'); 


    //echo $dateto; 
    $time->sTime = Carbon::parse($startTime); 
    $time->fTime = Carbon::parse($finishTime); 
    $time->total_time = $fTime->diffForHumans($sTime);  
    $booking->total_duration = $time->total_time; 

    $booking->save(); 

    } 

}

答えて

1

計算実行時間のために非常に良いアイデアではありません。ただ、昔ながらのmicrotime()を使用します。

$start = microtime(true); 
.... // Do something here. 
$end = microtime(true); 
$time = $end - $start; 
+1

thnx、それは完全に働いた:D – incorporeal

1

私はあなたが最初の数秒

$totalDuration = $finishTime->diffInSeconds($startTime); 

、その後フォーマット

gmdate('H:i:s', $totalDuration); 

のために、この作品なら、これを試すことが望まに変換すべきだと思います
$finishTime->diff($startTime)->format('%H:%i:%s'); 
+0

それは炭素が見つかりませんでした。 – incorporeal

+0

これを試してください - \ Carbon \ Carbonを使用してください 最初に\を使用すると、一種のグローバル名前空間が参照されます。 –

関連する問題