【发布时间】:2019-09-02 01:18:08
【问题描述】:
我有一个表来存储这样的机器启动和停止记录
---------------------------------------
| machine_start | machine_stop |
---------------------------------------
| 11:00 AM | 11:00 PM |
---------------------------------------
| 12:00 AM | 01:00 PM |
---------------------------------------
现在我想通过首先获取 machine_stop 和 machine_start 时间之间的差值来获取机器总运行时间,然后循环遍历表记录以获得总时间。
这里我试过了
$machine_total_time = 0;
foreach ($machine_data as $data){
$machine_total_time += strtotime($data->machine_stop) - strtotime($data->machine_start);
}
var_dump(date("H:i", $machine_total_time));
它将显示 'H' 的最高 23 小时。我想显示 $machine_total_time 的总小时数和分钟数。怎么做。谢谢。
【问题讨论】:
-
如果机器从
11 AM开始并在两天后在4 PM停止会发生什么?没有日期,您将不知道它运行了多长时间。 -
:) 好问题。从你的角度来看,你是对的。但这只是一个例子,以便我理解基本问题。
-
@Joni 他必须将秒转换为小时,你链接的不是操作想要的
-
stackoverflow.com/questions/3172332/… 可能重复这个问题在这个网站上已经被问过几十次了,如果不是上百次的话
-
您的代码很好,您只需使用副本中描述的方法之一来输出您的时间。
标签: php