diffInHours 函数 returns 零 - 碳
diffInHours function returns zero - Carbon
我正在使用 laravel 和碳库。
我想在几个小时内得到不同的时间。
但是 diffInHours returns 零。
$_startTime = $startTime = \Carbon\Carbon::parse('2018-09-18 21:12:35');
$finishTime = $_startTime->addHours(10);
$totalDuration = $startTime->diffInHours($finishTime);
dd($totalDuration);// 0
在您的代码中,当您执行 $startTime->addHours(10) 并将其分配给 finishTime 时,startTime 也会添加 10 小时,然后将其分配给 finishTime。所以在那个过程中,两者是相同的,当你将它们区分出来时,结果为零。所以你需要分别维护两个变量,如下所示,希望这对你有帮助。
$startTime = \Carbon\Carbon::parse('2018-09-18 21:12:35');
$finishTime = \Carbon\Carbon::parse('2018-09-18 21:12:35');
$finishTime->addHours(10);
$totalDuration = $startTime->diffInHours($finishTime);
dd($totalDuration);// 10
请尝试以下代码
$startTime = Carbon::parse('2018-09-18 21:12:35');
$finishTime = Carbon::parse($startTime)->addHours(10);
$totalDuration = $startTime->diffInHours($finishTime);
dd($totalDuration);
注意:再次解析 $startime 因为它用 addHours(10) 修改了开始时间。
解释:
$startTime = Carbon::parse('2018-09-18 21:12:35');
这里创建了碳对象。
$finishTime = Carbon::parse($startTime)->addHours(10);
如果我用下面的代码修改我的$finishTime
$startTime = Carbon::parse('2018-09-18 21:12:35');
$finishTime = $startTime->addHours(10);
只是 dd($startTime,$finishTime)
你可以看到 $startTime
和 $finishTime
输出相同的数据。
这里 $startTime
创建一个碳对象,我们需要再次解析 $startTime
因为它是一个碳对象,任何附加到该对象的方法都会修改它的所有当前对象。
我正在使用 laravel 和碳库。 我想在几个小时内得到不同的时间。 但是 diffInHours returns 零。
$_startTime = $startTime = \Carbon\Carbon::parse('2018-09-18 21:12:35');
$finishTime = $_startTime->addHours(10);
$totalDuration = $startTime->diffInHours($finishTime);
dd($totalDuration);// 0
在您的代码中,当您执行 $startTime->addHours(10) 并将其分配给 finishTime 时,startTime 也会添加 10 小时,然后将其分配给 finishTime。所以在那个过程中,两者是相同的,当你将它们区分出来时,结果为零。所以你需要分别维护两个变量,如下所示,希望这对你有帮助。
$startTime = \Carbon\Carbon::parse('2018-09-18 21:12:35');
$finishTime = \Carbon\Carbon::parse('2018-09-18 21:12:35');
$finishTime->addHours(10);
$totalDuration = $startTime->diffInHours($finishTime);
dd($totalDuration);// 10
请尝试以下代码
$startTime = Carbon::parse('2018-09-18 21:12:35');
$finishTime = Carbon::parse($startTime)->addHours(10);
$totalDuration = $startTime->diffInHours($finishTime);
dd($totalDuration);
注意:再次解析 $startime 因为它用 addHours(10) 修改了开始时间。
解释:
$startTime = Carbon::parse('2018-09-18 21:12:35');
这里创建了碳对象。
$finishTime = Carbon::parse($startTime)->addHours(10);
如果我用下面的代码修改我的$finishTime
$startTime = Carbon::parse('2018-09-18 21:12:35');
$finishTime = $startTime->addHours(10);
只是 dd($startTime,$finishTime)
你可以看到 $startTime
和 $finishTime
输出相同的数据。
这里 $startTime
创建一个碳对象,我们需要再次解析 $startTime
因为它是一个碳对象,任何附加到该对象的方法都会修改它的所有当前对象。