Я даже не знаю, как правильно сформулировать вопрос, но пытаюсь подсчитать общее время включения устройства. У меня есть база данных 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, что-то вроде этого (ссылка из Получите разницу во времени между двумя датами):
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");
Если я получу все записи для устройства, как я могу рассчитать только общее время между каждым «ВКЛ» и «ВЫКЛ»?
меры
Как писал @JanickFischer в ваших комментариях, вам нужно будет суммировать отдельные циклы. Поскольку вы не опубликовали никакого кода о том, как вы читаете свои данные / сохраняете их в своих массивах, я предложу этот общий рабочий процесс:
Шаг 1: Разделите массивы на ON
а также OFF
Шаг 2: Сравните длины массивов