Javascript时间集成

Javascript时间集成,javascript,Javascript,我目前正在用JavaScript做一个项目,它根据用户的时间告诉用户在一个课时内剩余的时间。我能够使用以下代码确定时间 function startTime() { var today = new Date(); var h = today.getHours(); var m = today.getMinutes(); var s = today.getSeconds(); m = checkTime(m); s = checkTime(s);

我目前正在用JavaScript做一个项目,它根据用户的时间告诉用户在一个课时内剩余的时间。我能够使用以下代码确定时间

function startTime() {
    var today = new Date();
    var h = today.getHours();
    var m = today.getMinutes();
    var s = today.getSeconds();
    m = checkTime(m);
    s = checkTime(s);
    document.getElementById('txt').innerHTML =
    h + ":" + m + ":" + s;
    var t = setTimeout(startTime, 500);
}
function checkTime(i) {
    if (i < 10) {i = "0" + i};  // add zero in front of numbers < 10
    return i;
}
函数开始时间(){
var today=新日期();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m=检查时间(m);
s=检查时间(s);
document.getElementById('txt').innerHTML=
h+“:“+m+”:“+s;
var t=设置超时(开始时间,500);
}
功能检查时间(i){
如果(i<10){i=“0”+i};//在<10的数字前面加零
返回i;
}
我的目标是将基于用户的当前时间减去时段中剩余的时间量。以下是我想使用的句点时间

时段17:45-8:34

时段2 8:38-9:30

时段3 9:34-10:23

时段4 10:27-11:16

时段5 11:20-12:38

时段6 12:42-1:31

时段7 1:35-2:25

因此,如果是8:30,它将返回给用户“时段1还剩4分钟”。在这种情况下,数字4将由一个变量表示,基于时段,“1”也同样适用。

这个库有一个非常有用的API,可以合理地用JavaScript处理日期和时间。见“相对时间”

请参见以下示例:

很明显,你不会想要分和秒,eventTime是每个“时段”结束的日期戳


$(文档).ready(函数(){
var eventTime='1366549200';
var currentTime='1366547400';
var leftTime=eventTime-currentTime;//现在我从处理时区内容(UTC)的控制器本身传递左时间,只是简单地问一下我使用的harcoded值。
var duration=时刻持续时间(leftTime,'秒');
var区间=1000;
setInterval(函数(){
//超时检查
if(duration.asSeconds()

这个库有一个非常有用的API,可以合理地用JavaScript处理日期和时间

请参见以下示例:

很明显,你不会想要分和秒,eventTime是每个“时段”结束的日期戳


$(文档).ready(函数(){
var eventTime='1366549200';
var currentTime='1366547400';
var leftTime=eventTime-currentTime;//现在我从处理时区内容(UTC)的控制器本身传递左时间,只是简单地问一下我使用的harcoded值。
var duration=时刻持续时间(leftTime,'秒');
var区间=1000;
setInterval(函数(){
//超时检查

if(duration.asSeconds()如果您了解UTC转换,这很容易。您可以很容易地找到持续时间和剩余时间

此外,请确保您的时间包括上午/下午或您在下午时间的基础上增加12小时。如果不这样做,您的代码将是一场噩梦。这也会使您的逻辑不稳定和不可预测

var期间=[
[ '07:45' , '08:34' ],
[ '08:38' , '09:30' ],
[ '09:34' , '10:23' ],
[ '10:27' , '11:16' ],
[ '11:20' , '12:38' ],
[ '12:42' , '13:31' ],
[ '13:35' , '14:25' ]
];
生成周期();
updateTimePeriods();
setTimeout(updateTimePeriods,1000);//每秒更新一次
函数生成周期(){
var listEl=document.getElementById('periods');
periods.forEach(函数(period){
appendChild(document.createElement('LI'));
});
}
函数updateTimePeriods(){
var now=新日期();
var children=document.getElementById('periods').childNodes;
var i=0;
对于(变量i=0;i持续时间:”,formatUTCTime(持续时间(开始、结束)),
“,剩余:”,FormatTimeLeveling(timeLeft(现在,结束)),
“,正在进行:”,isInProgress(现在,开始,结束)
].加入(“”);
}
}
函数isInProgress(现在、开始、结束){
var nowTime=parseTime(formatTime(now));
var startTime=解析时间(开始);
var endTime=parseTime(end);
return nowTime.getTime()>=startTime.getTime()
&&nowTime.getTime()
周期

如果您了解UTC转换,这很容易。您可以很容易地找到持续时间和剩余时间

此外,请确保您的时间包括上午/下午或您在下午时间的基础上增加12小时。如果不这样做,您的代码将是一场噩梦。这也会使您的逻辑不稳定和不可预测

var期间=[
[ '07:45' , '08:34' ],
[ '08:38' , '09:30' ],
[ '09:34' , '10:23' ],
[ '10:27' , '11:16' ],
[ '11:20' , '12:38' ],
[ '12:42' , '13:31' ],
[ '13:35' , '14:25' ]
];
生成周期();
updateTimePeriods();
setTimeout(updateTimePeriods,1000);//每秒更新一次
函数生成周期()