Ребята, есть таймер, который каждый день отсчитывает время (дни, часы, минуты, секунды) до конца дня (до 00 часов). Вот его код:
function two(a) {
return (9 < a ? "" : "0") + a
}
function formatTime(a) {
a = Math.floor(a / 1E3);
var b = Math.floor(a / 60),
c = Math.floor(b / 60),
d = c / 24 | 0,
c = c % 24;
a %= 60;
b %= 60;
a = Math.abs(a);
b = Math.abs(b);
c = Math.abs(c);
return two(d) + " " + " " + two(c) + " " + " " + two(b) + " " + " " + two(a) + " "
};
function Time() {
var data = Date.parse('01/1/2016') // дата начала 1 шестидневки строго "месяц/день/год"
data = new Date(data)
for (; (new Date).getTime() > data; ) {
data.setDate(data.getDate()+1)
}
var a = data, m = -360 - a.getTimezoneOffset();
a.setMinutes(m, 0, 0);
var a = a.getTime() - (new Date).getTime();
document.getElementById("showtime").innerHTML = formatTime(a);
window.setTimeout(Time, 1E3)
};
Time()
Соответственно, на странице элементы с ID = showtime превращаются в таймер обратного отсчёта.
ПРОБЛЕМА в том, что таймер доходит до нуля в 22:00 а потом цифры уходят в минус. Вот так это выглядит:
В 00:00 таймер сбрасывается и начинает отсчитывать С 22 ЧАСОВ. Т.е. сдвиг 2 часа. Как это исправить?
Код писал не я, а какой-то криворукий дебил. Уже много косяков исправил, но с таймером разобраться не могу.