【发布时间】:2019-11-16 01:55:07
【问题描述】:
这更像是一个逻辑问题。我为每个用户的所有考勤日志设计了这个表格
我可以计算每行的时间差和工作小时数。 我需要做的是计算每个日期的小时数,然后每天减去 8 小时得到加班时间。
for($i=0; $i < count($logs)-1; $i++ ){
if($logs[$i]->status == 'out'){
if ($i != 0) {
$dattime1 = new Carbon($logs[$i]->log_date.' '. $logs[$i]->log_time);
if ($logs[$i-1]->status == 'in') {
$dattime2 = new Carbon($logs[$i-1]->log_date.' '. $logs[$i-1]->log_time);
$diff = $dattime1->diff($dattime2);
$hr_array[] = $diff->h;
$min_array[] = $diff->i;
$sec_array[] = $diff->s;
$arr[] = $diff
}
}
}
}
我可以得到每行的分钟和小时。我想将具有相同日期的行分组并计算总工作时间,这样我就可以获得加班时间。
谢谢
【问题讨论】:
-
如何区分用户?
emo_number? -
是的,这是每个用户的唯一标识符