循环后碳错误的日期时间

Carbon wrong datetime after loop

我尝试在控制器中添加四次 30. 分钟 (laravel) 但结果是错误的。

这是我的代码:

$start = Carbon::parse($request['start']);
$end = Carbon::parse($request['end']);



 $tmp = $start->copy();
 for($i = 0; $i < 4; $i++){
    $tmp = $tmp->addMinutes("30"); // same result with addMinutes(30)
 }

开始: 2017-06-23 09:30:00
结束: 2017-06-23 11:00:00
$tmp 的预期结果:2017-06-23 11:30:00
收到 $tmp 的结果:2017-06-23 15:00:00

我对这个结果没有任何解释。 我做错了什么?

非常感谢

这样试试:

$start = Carbon::parse($request['start']);
$end = Carbon::parse($request['end']);

$tmp = Carbon::parse($start);
for($i = 0; $i < 4; $i++){
    $tmp->addMinutes(30);
}

dd([
    'start' => $start,
    'tmp' => $tmp
]);

这样你会得到一个数组,它的第一个值是你的原始解析值(你可以看到这是你期望的)第二个值将是 start + 2 hours 所以你可以调试它还有。