我正在尝试为我的网站计时器b / w两个日期(现在日期和我的cdate输入)请我有人帮我解决我的代码
function ctimer() {
var cdate = new Date("2017-03-31 13:06:57");
var now = new Date();
var timeDiff = cdate.getTime() - now.getTime();
if (timeDiff <= 0) {
clearTimeout(timer);
}
var seconds = Math.floor(timeDiff / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(minutes / 60);
var days = Math.floor(hours / 24);
document.getElementById("daysBox").innerHTML = days;
document.getElementById("hoursBox").innerHTML = hours;
document.getElementById("minsBox").innerHTML = minutes;
document.getElementById("secsBox").innerHTML = seconds;
var timer = setTimeout('ctimer()',1000);
}
&#13;
<span id="daysBox"></span>
Days
<span id="hoursBox"></span>
Hrs:
<span id="minsBox"></span>
Min:
<span id="secsBox"></span>
Sec
<script>ctimer();</script>
&#13;
答案 0 :(得分:2)
在日变量
之后添加var days = Math.floor(hours / 24);
hours %= 24;
minutes %= 60;
seconds %= 60;
答案 1 :(得分:1)
您只需忘记%
即可获得分钟,秒数和小时的剩余值
function ctimer() {
var cdate = new Date("2017-04-31 13:06:57");
var now = new Date();
var timeDiff = cdate.getTime() - now.getTime();
var seconds = Math.floor(timeDiff / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(minutes / 60);
var days = Math.floor(hours / 24);
var timer = setTimeout('ctimer()',1000);
if (timeDiff <= 0) {
clearTimeout(timer);
return;
}
document.getElementById("daysBox").innerHTML = (days);
document.getElementById("hoursBox").innerHTML = (hours%24);
document.getElementById("minsBox").innerHTML = (minutes%60);
document.getElementById("secsBox").innerHTML = (seconds%60);
}
ctimer()
<h2>reamaining time to 2017-06-31 13:06:57 is :</h2>
<span id="daysBox"></span>
Days
<span id="hoursBox"></span>
Hrs:
<span id="minsBox"></span>
Min:
<span id="secsBox"></span>
Sec
答案 2 :(得分:1)
有些事情发生了变化
setTimeout
timer
全局,否则它不会停止倒计时。
var timer;
function ctimer() {
var cdate = new Date("2017-06-31 13:06:57");
var now = new Date();
var timeDiff = cdate.getTime() - now.getTime();
if (timeDiff <= 0) {
clearTimeout(timer);
}
var days = Math.floor(timeDiff / (24*60*60*1000))
var hours = Math.floor(timeDiff / (60*60*1000)) % 24;
var minutes = Math.floor(timeDiff / (60*1000)) % 60;
var seconds = Math.floor(timeDiff / 1000) % 60;
document.getElementById("daysBox").innerHTML = days;
document.getElementById("hoursBox").innerHTML = hours;
document.getElementById("minsBox").innerHTML = minutes;
document.getElementById("secsBox").innerHTML = seconds;
timer = setTimeout(ctimer,1000);
}
ctimer();
&#13;
<span id="daysBox"></span>
Days
<span id="hoursBox"></span>
Hrs:
<span id="minsBox"></span>
Min:
<span id="secsBox"></span>
Sec
&#13;