js如何取得服务器时间
如下代码是时刻显示和更新当前时间(hh:mm:ss),但是放到服务器上运行,再从另一台机子去访问该网页时,实际显示的时间并不是服务器上的时间,而是当前机子的时间。各位大虾...
如下代码是时刻显示和更新当前时间(hh:mm:ss),但是放到服务器上运行,再从另一台机子去访问该网页时,实际显示的时间并不是服务器上的时间,而是当前机子的时间。
各位大虾帮帮忙,访问机子如何才能时刻显示并更新服务器的当前时间(hh:mm:ss)。
<HTML>
<HEAD>
<script language=Javascript>
function time(){
//获得显示时间的div
t_div = document.getElementById('showtime');
var now=new Date();
//替换div内容
t_div.innerHTML = ( now.getHours()<10?("0"+now.getHours()):now.getHours() ) + ":"
+ ( now.getMinutes()<10?("0"+now.getMinutes()):now.getMinutes() ) + ":"
+ ( now.getSeconds()<10?("0"+now.getSeconds()):now.getSeconds() ) ;
//等待一秒钟后调用time方法,由于settimeout在time方法内,所以可以无限调用
setTimeout(time,1000);
}
</script>
</HEAD>
<BODY TOPMARGIN=16 onload="time()">
<div id="showtime"></div>
<script language="javascript">
function change()
{
var obj=document.getElementsByName("yjsj").value;
this.focus();
document.getElementById("div1").innerHTML=obj
}
</script>
</BODY>
</HTML> 展开
各位大虾帮帮忙,访问机子如何才能时刻显示并更新服务器的当前时间(hh:mm:ss)。
<HTML>
<HEAD>
<script language=Javascript>
function time(){
//获得显示时间的div
t_div = document.getElementById('showtime');
var now=new Date();
//替换div内容
t_div.innerHTML = ( now.getHours()<10?("0"+now.getHours()):now.getHours() ) + ":"
+ ( now.getMinutes()<10?("0"+now.getMinutes()):now.getMinutes() ) + ":"
+ ( now.getSeconds()<10?("0"+now.getSeconds()):now.getSeconds() ) ;
//等待一秒钟后调用time方法,由于settimeout在time方法内,所以可以无限调用
setTimeout(time,1000);
}
</script>
</HEAD>
<BODY TOPMARGIN=16 onload="time()">
<div id="showtime"></div>
<script language="javascript">
function change()
{
var obj=document.getElementsByName("yjsj").value;
this.focus();
document.getElementById("div1").innerHTML=obj
}
</script>
</BODY>
</HTML> 展开
展开全部
正如楼上所说的,js只能操作客户端的东西。在客户端时刻显示并更新服务器的时间应该是不可能的,因为会由于网络延迟的因素使得时间不精确。
打个比方,可以使用ajax每秒钟获取服务器的时间,然后再显示出来,但是可能这个用户的网络延迟比较厉害,他请求的这个时间过了两三秒才返回给客户端,那这样更新时间就不精确了。
也可以这样,第一次从服务器那里获取时间,然后再客户端用js,每秒累加数,就是以获取服务器的那个时间为起掉,用客户端代码每秒累加这个时间
打个比方,可以使用ajax每秒钟获取服务器的时间,然后再显示出来,但是可能这个用户的网络延迟比较厉害,他请求的这个时间过了两三秒才返回给客户端,那这样更新时间就不精确了。
也可以这样,第一次从服务器那里获取时间,然后再客户端用js,每秒累加数,就是以获取服务器的那个时间为起掉,用客户端代码每秒累加这个时间
追问
后面这个方法不错,可行。
具体应该如何的简易地实现呢?
总不会自己建一个时钟运行的类和方法吧?
追答
var initTime = ...;
function clock(){
累加initTime
}
setInterval(clock,1000);//这方法名有点记不得了,自己查下API
展开全部
如果是网页前端的js是无法直接获得服务器时间的。只能借助一些服务器端语言,比如PHP,JSP,ASP等。方法是在服务器端获取服务器时间,然后输出一条js的幅值语句。
<script>
var serverTime=<%=Now()%>
alert(serverTime)
<script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
js是客户端脚本,无法获取服务器时间。只能获取客户端时间。
追问
那么不用js,用jsp如何实现“时刻显示并更新”时间呢?
追答
jsp我不知道,我学的php。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
取一次服务器时间,然后更新,因为网络的问题,肯定有一定的时差
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询