我正在计算两个日期之间员工的工作时间。输入的是日期间隔。该过程正在foreach循环中进行。问题是,当时间计算超过24小时后,就会显示出奇怪的行为。我想要一个精确的计算,例如35:55等。您可以看到屏幕截图。黑色突出显示的时间计算不正确。预期结果是“工作时间”的精确计算。
$hoursWorked = '00:00';
foreach ($distinctDates as $dist){
$att = $ci->Attendance_Model->filter_att_date_for_report($dist->date, $emp->user_id);
$totalHours += TotalWorkHoursPerDay;
// working hours after subtracting brb time
$work_hours = gmdate("H:i", strtotime($att->working_hours) - strtotime($att->brbtime));
$WorkHrsSecs = strtotime($work_hours)-strtotime("00:00");
$hoursWorked = date("H:i",strtotime($hoursWorked)+$WorkHrsSecs);
}
请帮助我改进此代码,或为我提供实现所需结果的另一种解决方案。我在Codeigniter工作。谢谢。