Javascript 从时间戳到计时器的间隔

Javascript 从时间戳到计时器的间隔,javascript,timestamp,Javascript,Timestamp,我发现了以下来自特定时间戳的计时器的简单脚本: var el = '.timer'; var start = 1553000000, cDisplay = $(el); var format = function (t) { var hours = Math.floor(t / 3600), minutes = Math.floor(t / 60 % 60), seconds = Math.floor(t % 60), arr =

我发现了以下来自特定时间戳的计时器的简单脚本:

var el = '.timer';
var start = 1553000000,
    cDisplay = $(el);
var format = function (t) {
    var hours = Math.floor(t / 3600),
        minutes = Math.floor(t / 60 % 60),
        seconds = Math.floor(t % 60),
        arr = [];
    if (hours > 0) {
        arr.push(hours == 1 ? '1 hr' : hours + 'hrs');
    }
    if (minutes > 0 || hours > 0) {
        arr.push(minutes > 1 ? minutes + ' mins' : minutes + ' min');
    }
    if (seconds > 0 || minutes > 0 || hours > 0) {
        arr.push(seconds > 1 ? seconds + ' secs' : seconds + ' sec');
    }
    cDisplay.html(arr.join(' '));
};
setInterval(function () {
    format(new Date().getTime() / 1000 - start);
}, 1000);

我想创建一个模拟交通灯循环的脚本,例如,红灯亮40秒,绿灯亮30秒,然后无限期地重复

输出应该是红色文本倒计时40秒,然后是绿色文本倒计时30秒,从时间戳开始计算周期的开始时间。(例如,我可以在循环的中间启动脚本,它将显示这个间隔的正确时间)


你们能帮我解决这个问题吗?

我用简单的python公式计算出了逻辑,如何确定当前运行的时间间隔: 让我们把它简化为5到8秒的间隔,第一个是5秒 但是我被困在如何用JS启动它

x = 5
y = 8
t = 96

z = t-(t/(x+y)*(x+y)) //python divides without remainder

if z >= x and z > y:
    print y
elif  z >= x and z < y:
    print y
elif  z < x and z < y:
    print x  
x=5
y=8
t=96
z=t-(t/(x+y)*(x+y))//python无余数除法
如果z>=x且z>y:
打印y
elif z>=x和z