Есть задача: храним в переменной количество секунд, прошедшее с какого-либо события. Нужно выводить их в формате HH:MM:SS, т.е. перерасчитывать все это дело на JS и выводить(каждую секунду происходит инкрементирование)
Получился такой код:
var hours = Math.floor(times / 3600);
var minutes = (times / 3600 - hours) * 60;
var seconds = Math.ceil((minutes - Math.floor(minutes)) * 60);
if(hours < 10){_hours = "0" + hours;}
else {_hours = hours;}
if(minutes < 10){_minutes = "0" + Math.floor(minutes);}
else {_minutes = Math.floor(minutes);}
if(seconds < 10){_seconds = "0" + Math.floor(seconds);}
else {_seconds = Math.floor(seconds);}
Все бы ничего, только бывает, что перескакивает через значение или выдает одинаковое(например 10:10:01 -- 10:10:02 -- 10:10:04 -- 10:10:04 -- 10:10:06 и т.д.).
Пересчитывал вручную на калькуляторе - все нормально, даже без десятых получается.
В чем может быть проблема и есть ли алгоритмы перерасчета?
Заранее всем спасибо!