格式化倒计时Javascript
我正在使用以下代码显示一个计数时钟 分钟和秒的格式很好,但小时显示为负数,如“-238”格式化倒计时Javascript,javascript,time,Javascript,Time,我正在使用以下代码显示一个计数时钟 分钟和秒的格式很好,但小时显示为负数,如“-238” var startTime=新日期(2011,01,21,08,55,0) $(文档).ready(函数(){ setTimeout(updatelock,1000); }); 函数updatelock(){ var timeField=$(“.timeSince”); var currentTime=新日期(); var差异=当前时间-开始时间; html(毫秒持续时间(差)); setTimeout(
var startTime=新日期(2011,01,21,08,55,0)
$(文档).ready(函数(){
setTimeout(updatelock,1000);
});
函数updatelock(){
var timeField=$(“.timeSince”);
var currentTime=新日期();
var差异=当前时间-开始时间;
html(毫秒持续时间(差));
setTimeout(updatelock,1000);
}
函数毫秒持续时间(n){
var hms=“”;
var dtm=新日期();
设置时间(n);
var h=“000”+数学楼层(n/3600000);
var m=“0”+dtm.getMinutes();
var s=“0”+dtm.getSeconds();
hms=h.substr(h.length-4)+“小时”+m.substr(m.length-2)+“分钟”;
hms+=s.substr(s.length-2)+“secs”;
返回hms;
}
我认为问题是因为“startTime”大于“currentTime”。只需进行逆减法即可:
function updateClock() {
var timeField = $(".timeSince");
var currentTime = new Date();
var difference = startTime - currentTime ;
timeField.html(MillisecondsToDuration(difference));
setTimeout(updateClock, 1000);
}
我不确定这是否是你想要的
function updateClock() {
var timeField = $(".timeSince");
var currentTime = new Date();
var difference = startTime - currentTime ;
timeField.html(MillisecondsToDuration(difference));
setTimeout(updateClock, 1000);
}