web前台获取服务器端时间

前段时间做一个需求,客户需要在页面显示当前的实时时间:HH:mm:ss,类似这种的。这种其实通过js就可以实现了,但是后来同事发现这样通过js在客户端获取时间和服务器端的时间有可能是不一致的。所以在网上找了很多资料,但是高深的js看不懂,而且通过js每秒都要请求一次服务器端也不科学啊。后来就使用Java在服务端在获取服务器端试试时间,然后传到前段隐藏控件内,再通过js或者jQuery获取,这样就可以了。

js代码:

function CurrentTime() {
var str = "";
var serverTime = $("#serverTime").val();
var svTime = serverTime.split(":");
// 创建时间对象
var time = new Date();
var hour = time.getHours();
var minute = time.getMinutes();
var second = time.getSeconds();
if (hour != svTime[0] && minute != svTime[1]) {
hour = parseInt(svTime[0]);
minute = parseInt(svTime[1])
second = parseInt(svTime[2]) + 1;
// alert(svTime[2]);
if (second >= 60) {
second = 0;
minute += 1;
if (minute >= 60) {
minute = 0;
hour += 1;
if (hour >= 24)
hour = 0;
}
}
}
if (hour < 10)
hour = '0' + hour;
if (minute < 10)
minute = '0' + minute;
if (second < 10)
second = '0' + second;
$("#serverTime").val(hour + ":" + minute + ":" + second);
if (hour == '00' && minute == '00' && second == '00') {
location.reload();
} else {
$("#hour").text(hour);
$("#min").text(minute);
$("#sec").text(second);
}


}
function Init() {
setInterval("CurrentTime()", 1000);
}


PS:当然这种请求,如果再打开网页的时候再去修改终端时间的时候,js还是不能和服务器端保持一致的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值