2014-11-01 40 views
0

我有一個Rails應用程序,我正在使用Javascript實時顯示當前時間。另一個StackOverflow用戶向我提供以下代碼。在Rails應用程序中使用Javascript顯示服務器時間

<div id="time" class="time_display"></div> 
<script type="text/javascript"> 
function checkTime(i) { 
    if (i < 10) { 
     i = "0" + i; 
    } 
    return i; 
} 

function startTime() { 
    var today = new Date(); 
    var h = today.getHours(); 
    var m = today.getMinutes(); 
    var s = today.getSeconds(); 
    // add a zero in front of numbers<10 
    m = checkTime(m); 
    s = checkTime(s); 
    document.getElementById('time').innerHTML = h + ":" + m + ":" + s; 
    t = setTimeout(function() { 
     startTime() 
    }, 500); 
} 
startTime(); 
</script> 

這很好,但它從客戶端/客戶端計算機中抽出時間。我真正想做的是重構這個來顯示Rails應用程序所在的系統/服務器時間,而不是客戶端時間。

我承認在JavaScript的可怕,可以使用一些幫助。

在此先感謝!

回答

0

您可以使用瀏覽器和服務器時區偏移量,以顯示服務器時間 EX-> 發送服務器的時區中的軌道偏移到本地並把它放在一個js變量訪問在你的代碼之間的差異上述

並添加此的今天

var server_time_zone_offset = 0 // this should come from the server 
    var local_time_zone = today.getTimezoneOffset(); 
    today = new Date(today.getTime() + (server_time_zone_offset - local_time_zone)* 60000) 
+0

initalizing後,我不知道我在下面。你能否在你的回答中更深入地解釋我將如何在我現在的代碼中工作?我真的只需要以某種方式直接從服務器獲得時間。 – nulltek 2014-11-15 15:58:07

相關問題