我需要一个时钟来计算特定时间。例如时间是20:08:00,然后从那里算。我已经搜索了高低的答案,没有人特别想出答案(我见过)。所以我的正常时钟是这样的。
<script type="text/javascript">
function clock()
{
var digital = new Date();
var hours = digital.getHours();
var minutes = digital.getMinutes();
var seconds = digital.getSeconds();
if (minutes <= 9) minutes = "0" + minutes;
if (seconds <= 9) seconds = "0" + seconds;
dispTime = hours + ":" + minutes + ":" + seconds;
var basicclock = document.getElementById('basicclock');
basicclock.innerHTML = dispTime;
setTimeout("clock()", 1000);
}
clock();
</script>
所以我需要的是从20:08:00(或时间变量)开始的时间。我想知道是否更好地使用计时器来实现设定时间并从中计算???
任何帮助都将不胜感激。
答案 0 :(得分:0)
首先:在提出问题之前,请尝试广泛搜索SO以获得答案,如果您查看,可以找到许多有用的回复。 ;)
如果您尝试倒计时某个时间/日期,我会建议找到答案 HERE
所有代码信用均转到作者的上述答案。 HTML - 用于显示
<span id="days"></span>
<span id="hours"></span>
<span id="minutes"></span>
<span id="seconds"></span>
脚本(保持格式化,只修改目标日期的第4行)
setInterval(function(){
// set whatever future date / time you want here, together with
// your timezone setting...
var future = new Date("Sep 20 2014 21:15:00 GMT+0200");
var now = new Date();
var difference = Math.floor((future - now) / 1000);
var seconds = fixIntegers(difference % 60);
difference = Math.floor(difference / 60);
var minutes = fixIntegers(difference % 60);
difference = Math.floor(difference / 60);
var hours = fixIntegers(difference % 24);
difference = Math.floor(difference / 24);
var days = difference;
$("#seconds").text(seconds + "s");
$("#minutes").text(minutes + "m");
$("#hours").text(hours + "h");
$("#days").text(days + "d");
}, 1000);
function fixIntegers(integer)
{
if (integer < 0)
integer = 0;
if (integer < 10)
return "0" + integer;
return "" + integer;
}
<强> DEMO OF THE ABOVE CODE 强>
我还会看一下这些帖子中的其他有趣解决方案 HERE