现在的位置: 首页 > 综合 > 正文

JSP 如何在客户端同步显示服务器时间

2013年10月10日 ⁄ 综合 ⁄ 共 1144字 ⁄ 字号 评论关闭

在客户端同步显示服务器时间解决办法:

1.用ajax异步提交取得时间,然后局部刷新页面。

2.取得服务器时间,在本地(客户端)实现时间累加。

 

第一种方法显然加大了服务器的负载量,但是时间准确。(中间网速另算)

第二中每次只取得一次时间,节约服务器开销。

 

这次我采用第二种方法实现此功能,希望对学习者有所帮助。

首先在客户端得到服务器时间代码如下:

<%
    Date date = new Date();
%>

得到时间后用js函数进行累加

<script language="javascript">  
 var hours, minutes, seconds, xfile;
 var intHours, intMinutes, intSeconds;
  var today= new Date();
  today.setTime(<%=date.getTime()%>);    //把服务器时间赋给JS函数
   function time_callback(){  
    intHours = today.getHours();
  intMinutes = today.getMinutes();
  intSeconds = today.getSeconds();
  if (intHours == 0) {
  hours = "12 : ";
  xfile = "午夜 ";
  } else if (intHours < 12) {
  hours = intHours+" : ";
  xfile = "上午 ";
  } else if (intHours == 12) {
  hours = "12 : ";
  xfile = "正午 ";
  } else {
  intHours = intHours - 12
  hours = intHours + " : ";
  xfile = "下午 ";
  }
  if (intMinutes < 10) {
  minutes = "0"+intMinutes+" : ";
  } else {
  minutes = intMinutes+" : ";
  }
  if (intSeconds < 10) {
  seconds = "0"+intSeconds+" ";
  } else {
  seconds = intSeconds+" ";
  }
  timeString = xfile+hours+minutes+seconds;
   
       document.getElementById("time_view").innerHTML  = "&nbsp;&nbsp;&nbsp;" + timeString;
       today.setTime(today.getTime() + 1000);        
   }  
    setInterval("time_callback()",1000);   //每1000毫秒回调此函数

  </script>

抱歉!评论已关闭.