在Rails应用程序中使用Javascript显示服务器时间
我有一个Rails应用程序,我在其中使用Javascript实时显示当前时间。下面的代码是另一个StackOverflow用户慷慨地提供给我的在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;
<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)
我不确定我是否听懂了。你能在你的回答中更深入地解释一下,在我现在的代码中,我将如何使它工作?我真的需要直接从服务器获取时间。