Захотел реализовать в админке счётчик времени работы каждого потока. Точнее определённой функции у каждого потока.
Поставил перед заходом в цикл нужной мне функции маркер времени:
VAR_TM = new Date();
А уже при срабатывании условий в функции ставится новый маркер времени и вычитается из старого:
VAR_TM2 = new Date();
VAR_TIME_JOB_0 = ((VAR_TM2) - (VAR_TM));
В переменной TIME_JOB_0 получаю миллисекунды прошедшие с одного маркера до другого.
Дак вот из этих миллисекунд надо получить время чч:мм:сс
Пробывал через функции получить часы, минуты и секунды
VAR_H_JT = (VAR_TIME_JOB_0).getHours();
VAR_M_JT=(VAR_TIME_JOB_0).getMinutes();
VAR_S_JT=(VAR_TIME_JOB_0).getSeconds();
Ругается ошибкой : TypeError: Result of expression '(VAR_TIME_JOB_0).getSeconds' [undefined] is not a function
Пробывал перевести полученные миллисекунды в дату и снова получить функцией время..
VAR_TM2 = new Date();
VAR_TIME_JOB_0 = ((VAR_TM2) - (VAR_TM));
VAR_TIME_JOB = new Date(VAR_TIME_JOB_0);
VAR_H_JT = (VAR_TIME_JOB).getHours();
VAR_M_JT=(VAR_TIME_JOB).getMinutes();
VAR_S_JT=(VAR_TIME_JOB).getSeconds();
Но так как в переменной TIME_JOB теперь дата Thu Jan 01 1970 05:06:17 GMT+0500 (RTZ 4) то функция получает значения 5 часов, 6 минут и 17 секунд. Хотя по факту прошло 337951 миллисекунд, тоесть 5 минут 38 секунд.
Пробовал тупым делением, когда полученные миллисекунды делил на 1000 (для секунд), на 60000 (для минут).. В итоге мог получить значение вида 1 час 70 минут 4200 секунд..
Голова уже не варит, такой простой косяк, а упёрся и не даётся..