如何在 laravel 中加上或减去小时数?

How to plus or minus hours in laravel?

我遇到了下面的情况,不知道怎么办,谁能帮帮我。

Clock 打卡时间:8:00,打卡时间:17:00 => 总计:9:00

1st break 开始中断:11:00,结束中断:13:00 => 总中断 1:2:00

Second break 开始中断:15:00,结束中断:15:30 => 总中断 2:0:30

$startTime = Carbon::parse('8:00'); 
$endTime = Carbon::parse('17:00');
$duration = $endTime->diffInMinutes($startTime);
$totalminutes += $duration;
dd(date('H:i', mktime(0, $totalminutes)));
Total : 9:00

我想加上 break1 和 break2 的小时数

2:00 + 0:30 = 2:30

总时钟减去总休息时间

9:00 - 2:30 = 6:30

大家帮帮我,谢谢大家

您可以用同样的方法计算休息时间,只是您需要从总分钟数中减去而不是相加。

$startTime = Carbon::parse('8:00');
$endTime = Carbon::parse('17:00');

$firstBreakStart = Carbon::parse('11:00');
$firstBreakEnd = Carbon::parse('13:00');

$secondBreakStart = Carbon::parse('15:00');
$secondBreakEnd = Carbon::parse('15:30');

$totalMinutes = $startTime->diffInMinutes($endTime);
$totalMinutes -= $firstBreakStart->diffInMinutes($firstBreakEnd);
$totalMinutes -= $secondBreakStart->diffInMinutes($secondBreakEnd);

dd(date('H:i', mktime(0, $totalMinutes)));