wegas,
проверяйте ...
-180 места установки таймзоны в минутах (Москва на 2017г.)
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body><div id = 'show'></div>
<script>
Date.prototype.setTimezoneOffset = function(minutes) {
var _minutes;
if (this.timezoneOffset == _minutes) {
_minutes = this.getTimezoneOffset();
} else {
_minutes = this.timezoneOffset;
}
if (arguments.length) {
this.timezoneOffset = minutes;
} else {
this.timezoneOffset = minutes = this.getTimezoneOffset();
}
return this.setTime(this.getTime() + (_minutes - minutes) * 6e4);
};
function two(a) {
return (9 < a ? "" : "0") + a
}
function formatTime(a) {
a = Math.floor(a / 1E3);
var c = Math.floor(a / 60),
d = Math.floor(c / 60);
a %= 60;
c %= 60;
return two(d) + " : " + two(c) + " : " + two(a)
}
function Time() {
var a = new Date;
a.setTimezoneOffset(-180);
var c = [
{t : "До начала занятий", h : 7, m : 30},
{t : "До начала 1 урока", h : 8, m : 30},
{t : "До конца 1 урока", h : 9, m : 15},
{t : "До начала занятий", h : 7, m : 30}],
d = [], e = a.getDate() + 1, b = 0;
for (; b < c.length; b++)
a.setHours(c[b].h, c[b].m, 0, 0),
c.length-1 == b && a.setDate(e),
d[b] = a.getTime();
var k;
for (b = 0; b < c.length && !(k = new Date,k.setTimezoneOffset(-180), a = d[b] - k.getTime(), 0 < a); b++);
document.getElementById("show").innerHTML = c[b].t + " по Москве в " +c[b].h +":"+c[b].m+ " осталось " + formatTime(a);
window.setTimeout(Time, 1E3)
};
Time()
</script>
</body>
</html>