Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Rails应用程序中使用Javascript显示服务器时间_Javascript_Ruby On Rails 3_Time - Fatal编程技术网

在Rails应用程序中使用Javascript显示服务器时间

在Rails应用程序中使用Javascript显示服务器时间,javascript,ruby-on-rails-3,time,Javascript,Ruby On Rails 3,Time,我有一个Rails应用程序,我在其中使用Javascript实时显示当前时间。下面的代码是另一个StackOverflow用户慷慨地提供给我的 <div id="time" class="time_display"></div> <script type="text/javascript"> function checkTime(i) { if (i < 10) { i = "0" + i; } return i;

我有一个Rails应用程序,我在其中使用Javascript实时显示当前时间。下面的代码是另一个StackOverflow用户慷慨地提供给我的

<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很糟糕,需要一些帮助


提前谢谢

您可以使用浏览器和服务器时区偏移之间的差异来显示服务器时间 ex-> 在rails中将服务器时区偏移发送到local,并将其放在上面代码中可以访问的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)

我不确定我是否听懂了。你能在你的回答中更深入地解释一下,在我现在的代码中,我将如何使它工作?我真的需要直接从服务器获取时间。