2013-08-30 38 views
0

我想創建一個Javascript時鐘,將顯示當前實際時間,而不是顯示客戶端機器的本地時間。如何使JavaScript使用時間從世界時鐘(GMT將具體)

時鐘是一個腳本的一部分,它計算兩個值之間的時間差(在php中,但這個時鐘的目的是給出一個可視表示)。腳本的用戶不能改變顯示的時間是很重要的,因爲這會對整個程序的結果產生不正確的結果。

我意識到,我可能要使用PHP函數在一個特定的時間段返回的時間,但我不知道如何投入到這一點我的腳本。我的JavaScript時鐘代碼如下(currenttime_large是這個腳本的DIV容器的ID):

<script type="text/javascript" language="javascript"> 
    function renderTime() { 
     var currentTime = new Date(); 
     var h = currentTime.getHours(); 
     var m = currentTime.getMinutes(); 
     var s = currentTime.getSeconds(); 
     setTimeout('renderTime()',1000); 
     if (h == 0) { 
      h = 12; 
     } 
     if (h < 10) { 
      h = "0" + h; 
     } 
     if (m < 10) { 
      m = "0" + m; 
     } 
     if (s < 10) { 
      s = "0" + s; 
     } 
     var myClock = document.getElementById('currenttime_large'); 
     myClock.textContent = h + ":" + m + ":" + s + " "; 
     myClock.innerText = h + ":" + m + ":" + s + " "; 
    } 
    renderTime(); 
    </script> 

請可能有人建議這個腳本是如何進行調整,使其中顯示時鐘,顯示GMT(倫敦)而不是客戶的時間。

很多感謝,

艾丹

回答

1

使用getUTC...方法:

var h = currentTime.getUTCHours(); 
var m = currentTime.getUTCMinutes(); 
var s = currentTime.getUTCSeconds(); 
+0

這裏是一個參考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date – 2013-08-30 21:00:38

+0

嗨保羅,非常感謝您的建議。 在提出問題之前,我嘗試了getUTC方法 - 它似乎給了一個與原始腳本不同的時間(infact後面1小時),但是當您更改客戶端計算機上的時間時,腳本顯示的時間仍會相對變化到你改變時間的金額。 我需要確保用戶不能做任何事情來改變時間,所以這就是爲什麼我在想PHP代碼(服務器端),並將變量傳遞給jScript或許,我只是不知道該怎麼做。 –

+0

我仍然有這個問題,有人可以幫忙嗎? –

相關問題