js获取服务器时间并动态刷新,在js代码中获取的时间是客户端的时间。那如何获取服务器时间呢?在java后台 new Date()即是服务器时间,将他传入到页面,那么这个时间是一个死的,难道我们要自己写一个时间走动的方法?这样很麻烦,我们可以协议个ajax方法动态获取后台的时间。这是完全可以实现的。不过我这里提供一种我觉得更加简便的思路,就是在后台获取服务器的当前毫秒数System.currentTimeMillis() 传到jsp的input隐藏域中 然后用js将毫秒数转化为时间,每次加一秒就可实现动态刷新功能。
代码如下:
//systime放入隐藏域中
function startTime(){
//后台传入的当前系统时间(毫秒数)
var systime=document.getElementById("systime").value;
var date=new Date();
date.setTime(systime-+);
var year=date.getYear();
var month=date.getMonth()+;
var day=date.getDate();
var hours=date.getHours();
var minute=date.getMinutes();
var second=date.getSeconds();
document.getElementById("stime").value=year+"-"+changeNum(month)+"-"+changeNum(day)+" "+changeNum(hours)+":"+changeNum(minute)+":"+changeNum(second);
document.getElementById("systime").value=systime-+;
window.setTimeout("startTime()","1000");
}
//如果是一位就补0
function changeNum(num){
if(num<){
return '0'+num;
}
return num;
}