【发布时间】:2016-05-14 13:10:52
【问题描述】:
我正在开发一个系统,人们可以在该系统中启动和停止计算所花费的时间。这是由以下人员完成的:
按下“开始”按钮时,会在数据库表中为该行添加一个日期。
-
当按下“停止”按钮时,会添加一个日期(结束日期),然后我通过以下方式计算差异:
$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);
但这会报错:
在位置 7 (0) 解析时间字符串 (1463184003) 失败:意外字符
有人可以提出替代方案吗?
【问题讨论】:
标签: php laravel laravel-5 eloquent php-carbon