2016-05-14 14 views
0

私は、人々がそれを撮影した時間を計算する何かを開始および停止できるシステムに取り組んでいます。Laravel/Carbonは2つのタイムスタンプを一緒に追加していますか?

  • 「開始」ボタンを押すと、その行のデータベーステーブルに日付が追加されます。

  • 「停止」ボタンが押されると、日付(終了日)は、私はすることによって差分を計算添加する:

    $startTime = \Carbon\Carbon::parse($task->date_start); 
    $finishTime = \Carbon\Carbon::parse($task->date_complete); 
    
    $totalDuration = $finishTime->diffInSeconds($startTime); 
    

また「timeSpent」$totalDurationをタイムスタンプとして記憶されています。

ユーザーは停止/開始できるように要件が変更されていますが、合計時間はまだ保持されています。

timeSpentは常に保存されるため、ユーザーが開始/停止を再度クリックすると、以前に行ったように差分を計算してから、内部に保存されているtimeSpentに追加することができますしかし、私はこれを行う方法を理解できないようです。私が試してみました:

$totalTimeSpent = strtotime($task->time_spent) + 
strtotime($totalDuration); 

はその後、再びそれを解析:

$total = \Carbon\Carbon::parse($totalTimeSpent); 

しかし、これはエラーアップスルー:

Failed to parse time string (1463184003) at position 7 (0): Unexpected character

誰かが代替案を提案することができますか?

答えて

1

それは、タイムスタンプではありませんので、あなたはタイプタイムスタンプでフィールドに$ totalDurationを保存しないでください。秒数であり、整数フィールドに格納する必要があります。

あなたはそのための整数型を使用したら、あなたは数字を追加することに問題があってはならない。

$total = $task->time_spent + $totalDuration; 
関連する問題