动态显示当前的日期时间,有多种方法
方法一
在当前的jsp页面上写Java代码
<pre name="code" class="java"><span style="font-size:18px;">
<%
User user = (User) session.getAttribute("user_info");
java.text.SimpleDateFormat simpleDateFormat = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
<span style="white-space:pre"> </span>java.util.Date currentTime = new java.util.Date();
<span style="white-space:pre"> </span>String time = setInterval(simpleDateFormat.format(currentTime).toString(),'1000');
%>
在jsp的客户端html代码中显示:
<span style="white-space:pre"> </span><td width="18%">
<span style="white-space:pre"> </span><%=time %>
</td>
方法二
js代码显示:
<span style="white-space:pre"> </span><td width="18%">
<font color="#FFFFFF">
<div id="time1">
<script type="text/javascript">
//非动态显示
//document.getElementById('time1').innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());
//动态显示
setInterval("document.getElementById('time1').innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);
</script>
</div>
</font>
</td>
二个方法都使用了setInterval()函数,来确保它是动态显示的,一旦不用这个函数,就像当初不用timer,只是一个时间显示。
更新补充2015-10-7:
setInterval函数是JavaScript中的一个函数,不是Java的。方法一经过多次验证,稳定性差,用着有问题。有兴趣的可以继续试验哦!
方法二的,js语句,必须放在id="time1"之后才起作用,js的位置也很关键。JavaScript作为一种脚本语言可以放在html页面中的任何位置,但是浏览器解释html的时候是按照先后顺序执行的,所以script语句要放在后边。
一般的JavaScript放在<head></head>和放在<body></body>之间从执行结果来看是没有区别的,但是有如下的经验规则:
1.当JavaScript要在页面加载过程中动态建立一些Web页面的内容时,应将JavaScript放在body中。
2.定义为函数并用于页面事件的JavaScript应当放在head标记中,因为它会在body之前加载。采用这种方法,页面就不会被脚本搞得一团糟,易于阅读,在每个页面中,总可以在同一个位置找到脚本。
期待您的建议!