2015-12-19 83 views
0

我想創建一個顯示2個國家時間的時鐘。JavaScript時鐘問題

<!DOCTYPE html> 
<html> 
    <head> 
    <title></title> 
    <meta charset="utf-8" /> 
    <script> 
     function disptime() { 

     now = new Date() 

     hours = now.getHours(); 
     hours = hours < 10 ? "0" + hours:hours; 

     minutes = now.getMinutes(); 
     minutes = minutes < 10 ? "0" + minutes:minutes; 

     seconds = now.getSeconds(); 
     seconds = seconds < 10 ? "0" + seconds:seconds; 

     milli = now.getTime(); 
     millib = milli + (6*60*60*1000); 

     bhutan = new Date(); 
     bhutan = setTime(millib); 

     bhutanHours = bhutan.getHours(); 
     bhutanHours = bhutanHours < 10 ? "0" + bhutanHours:bhutanHours; 

     document.getElementById("bhutanClock").innerHTML=bhutanHours+ " : " + minutes + " : " + seconds; 
     document.getElementById("UKClock").innerHTML=hours+ " : " + minutes + " : " + seconds; 

     setTimeout("disptime()",1000); 

     } 
    </script> 
    </head> 
    <body onload="disptime()"> 
    <p id="bhutanClock"></p> 

    <p id="UKClock"></p> 
    </body> 
</html> 

爲什麼在我加載此頁面時瀏覽器中什麼都沒有看到?

回答

3

的問題是與功能setTime沒有在全球範圍內所界定的直線bhutan = setTime(millib);

。我相信你正在尋找bhutan.setTime(millib)

此外,setTimeout應替換爲setTimeout(disptime, 1000);

工作​​。

5

第一個錯誤:您需要在Date()對象上應用setTime

bhutan = bhutan.setTime(millib); 

而改變這一部分,出於某種原因,它是在整數顯示爲毫秒:

bhutan = new Date(); 
bhutan = new Date(bhutan.setTime(millib)); 

工作摘錄

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <title></title> 
 
    <meta charset="utf-8" /> 
 
    <script> 
 
    function disptime() { 
 

 
     now = new Date() 
 

 
     hours = now.getHours(); 
 
     hours = hours < 10 ? "0" + hours : hours; 
 

 
     minutes = now.getMinutes(); 
 
     minutes = minutes < 10 ? "0" + minutes : minutes; 
 

 
     seconds = now.getSeconds(); 
 
     seconds = seconds < 10 ? "0" + seconds : seconds; 
 

 
     milli = now.getTime(); 
 
     millib = milli + (6 * 60 * 60 * 1000); 
 

 
     bhutan = new Date(); 
 
     bhutan = new Date(bhutan.setTime(millib)); 
 

 
     bhutanHours = bhutan.getHours(); 
 
     bhutanHours = bhutanHours < 10 ? "0" + bhutanHours : bhutanHours; 
 

 
     document.getElementById("bhutanClock").innerHTML = bhutanHours + " : " + minutes + " : " + seconds; 
 
     document.getElementById("UKClock").innerHTML = hours + " : " + minutes + " : " + seconds; 
 

 
     setTimeout("disptime()", 1000); 
 

 
    } 
 
    </script> 
 
</head> 
 

 
<body onload="disptime()"> 
 

 
    <p id="bhutanClock"> 
 

 
    </p> 
 

 
    <p id="UKClock"> 
 

 
    </p> 
 

 

 
</body> 
 

 
</html>

廠現在完美:http://output.jsbin.com/bemuyawivu