0

我有以下情况,但不知道该怎么做,任何人都可以帮助我。

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

1st break 开始休息:11:00,结束休息:13:00 => 总休息时间:2:00

Second break 开始休息:15:00,结束休息:15:30 => 总休息时间: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

大家帮助我,谢谢大家

4

1 回答 1

1

您可以以相同的方式计算休息时间,除了您需要从总分钟数中减去它们而不是添加它们。

$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)));
于 2022-02-23T01:47:53.943 回答