我正在創建一個倒計時來計算我打算觀看的euro2012比賽之間的時間。 我已經提供了一個工作版本,但我不明白爲什麼它有時會給我帶來負面的價值。 我認爲這與我使用getTime()方法編寫它的方式有關。 這是我的代碼,你們能幫我找出解決這些負面的價值嗎? 非常感謝您提前。在基於javascript的倒數計算中解決負值
<body onload="timeto2012()">
<script type="text/javascript">
function timeto2012() {
var euro2012 = new Date(2012, 5, 10, 20, 45);
var euro2012ms = euro2012.getTime();
var now = new Date();
var nowms = now.getTime();
var diff = euro2012ms - nowms;
var seconds = 1000;
var minutes = seconds*60;
var hours = minutes*60;
var days = hours*24;
var years = days*365;
var ddays = diff/days;
var dhours = (ddays - Math.round(ddays,1))*24;
var dminutes = (dhours - Math.round(dhours))*60;
var dseconds = (dminutes - Math.round(dminutes))*60;
document.getElementById("time").innerHTML='' + Math.round(ddays,1) +' days '+ Math.round(dhours,1) +' hours '+ Math.round(dminutes,1) +' minutes '+ Math.round(dseconds,1) + ' seconds remaining';
}
t=setInterval(timeto2012,500);
</script>
<div id="time"></div>
</body>
你應該接受被張貼到你以前的答案的答案。 – stefgosselin 2011-06-08 17:18:17
這裏是一個小提琴玩:http://jsfiddle.net/YHktx/1/ – 2011-06-08 17:19:38
Aleksi,仍然顯示負秒... – KOGI 2011-06-08 17:30:03