Показать сообщение отдельно
  #18 (permalink)  
Старый 21.03.2019, 22:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,134

расписание от и до
wegas,
<!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 ms = a.getTime();
    var c = [{
            t: "Занятия завершены",
            h: 0,
            m: 00,
            h2: 7,
            m2: 10
        },
        {
            t: "До начала 1 урока",
            h: 8,
            m: 00,
            h2: 8,
            m2: 45
        },
        {
            t: "До окончания 1 урока(перемена)",
            h: 8,
            m: 45,
            h2: 8,
            m2: 55
        },
        {
            t: "Занятия завершены",
            h: 17,
            m: 00,
            h2: 23,
            m2: 59
        },
        {
            t: "До начала 15 урока",
            h: 20,
            m: 00,
            h2: 22,
            m2: 30
        },
    ];

    c = c.filter(function(v) {
        a.setHours(v.h, v.m, 0, 0)
        var from = a.getTime();
        a.setHours(v.h2, v.m2, 0, 0);
        var to = a.getTime();
        v.time = to - ms;
        return from < ms && ms < to
    })

    var html = c.reduce(function(html, v) {
        return html += v.t + " по Москве до " + v.h2 + ":" + v.m2 + " осталось " + formatTime(v.time) + "<br>";
    }, "")


    document.getElementById("show").innerHTML = html || "сейчас нет событий";
    window.setTimeout(Time, 1E3)
};
Time()
</script>
</body>
</html>
Ответить с цитированием