我甚至不知道如何正确地说出问题,但我正在尝试计算设备开机的总时间。我有一个mysql数据库,记录设备打开或关闭的时间。
我的数据库的示例:
device id logtime status
---------------------------------------------------
17x1p14e6662 April 12th 2017, 1:05:52 pm ON
17x1p14e6662 April 12th 2017, 1:06:34 pm OFF
17x1p14e6662 April 12th 2017, 1:07:02 pm ON
17x1p14e6662 April 12th 2017, 1:14:00 pm OFF
17x1p14e6662 April 12th 2017, 1:34:52 pm ON
17x1p14e6662 April 12th 2017, 3:25:20 pm OFF
17x1p14e6662 April 12th 2017, 5:30:00 pm ON
我知道如何使用momentJS计算两个时间段之间的差异,类似这样(引自Get the time difference between two datetimes):
var now = "04/09/2013 15:00:00";
var then = "02/09/2013 14:20:30";
var ms = moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss"));
var d = moment.duration(ms);
var s = Math.floor(d.asHours()) + moment.utc(ms).format(":mm:ss");
如果我检索设备的所有记录,我怎样才能计算每个" ON"之间的总时间。和" OFF" ?
答案 0 :(得分:0)
正如@JanickFischer在你的评论中写道,你需要总结各个周期。由于您没有发布任何关于如何读取数据/将数据存储在数组中的代码,因此我将提供以下常规工作流程:
第1步:按ON
和OFF
第2步:比较数组的长度
答案 1 :(得分:0)
<强>步骤强>