我试图建立一个时钟输出系统。当试图获取用户在特定天的工作时间的报告时,我需要总计工作时间的数量。我有一个startTime(时间戳)和endTime(时间戳),但是我可以在任何给定的一天为用户提供多个条目,以便他们拨入时钟以打破时钟,然后在午餐后又抽出来以此类推。
array
(
[theUser] => Bob Johnson
[timeId] => 9
[user_id] => 1
[weekNo] => 34
[clockYear] => 2016
[entryDate] => 2016-08-21
[startTime] => 2016-08-21 21:57:01
[endTime] => 2016-08-21 22:45:15
[updated_at] => 2016-08-21 22:45:15
[totTime] => 00:48:14
)
[9] => Array
(
[theUser] => Bob Johnson
[timeId] => 16
[user_id] => 1
[weekNo] => 34
[clockYear] => 2016
[entryDate] => 2016-08-24
[startTime] => 2016-08-24 01:00:00
[endTime] => 2016-08-24 05:15:00
[updated_at] =>
[totTime] => 04:15:00
)
(
[theUser] => Bob Johson
[timeId] => 15
[user_id] => 1
[weekNo] => 34
[clockYear] => 2016
[entryDate] => 2016-08-24
[startTime] => 2016-08-24 01:00:00
[endTime] => 2016-08-24 05:15:00
[updated_at] =>
[totTime] => 04:15:00
)
(
[theUser] => Bob Johnson
[timeId] => 18
[user_id] => 1
[weekNo] => 34
[clockYear] => 2016
[entryDate] => 2016-08-24
[startTime] => 2016-08-24 09:59:00
[endTime] => 2016-08-24 10:45:00
[updated_at] => 2016-08-24 10:19:31
[totTime] => 00:46:00
)
我需要用总工作时间来制作新的阵列,我想实现这样的目标
(
[theUser] = Bob Johnson
[weekNo] = 34
[Year] = 2016
[entryDate] = 2016-08-24
[totalHoursWorked] = 09:16:00
[overTime] = 01:16:00
)
如果尝试服用,任何人都可以帮忙吗
$startTime = strtotime($val['startTime']);
$endTime = strtotime($val['endTime']);
$tot += $endTime - $startTime;
echo date('H:i:s', $tot)
在foreach循环中,但我总是得到错误的值
问题出在最后一行: echo date('H:i:s', $tot)
您应该gmdate
改用:
echo gmdate('H:i:s', $tot);
或使用简单的数学代码对其进行格式化:
$hours = floor($init / 3600);
$minutes = floor(($init / 60) % 60);
$seconds = $init % 60;
echo "$hours:$minutes:$seconds";
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句