在php和laravel24H中减去两次

subtract two times in php and laravel 24H

这似乎是一个相当简单的问题,但我遇到了麻烦! 在我的请求中,我有两个字段

$takeOffTime = '23:00';
$landingTime = '01:05';

我想从 break in 中减去 breakout 以获得差值,然后取该数字并从 takeOffTime 和 landingTime 之间的差值中减去它。

我如何以 24 小时格式 'h:i' 执行此操作?

$takeOff = '23:00';
$landing = '01:10';

$t1 = strtotime($takeOff);
$t2 = strtotime($landing);

你可以这样减去两次H:i格式。

$takeOff = '23:00';
$landing = '01:10';

$t1 = strtotime($takeOff);
$t2 = strtotime($landing);

$diff = gmdate('H:i', $t2 - $t1);

dd($diff); // "02:10"

使用 DateTime diff,您可以计算 DateInterval,然后使用以下格式格式化 DateInterval,

$takeOff = '23:00';
$landing = '01:05';
$take_off_date = new DateTime('23:00');
$landing_date = new DateTime('01:05');
if($landing <= $takeOff){
    $landing_date->add(new DateInterval("P1D"));
}
echo ($landing_date->diff($take_off_date))->format("%H:%I");

输出02:05