我想在jsp文件上显示时钟,时间是从服务器获取的,并且是05 Jun, 2012 12:48:23 PM
格式我希望同时更新而不是占用客户端时间。
我确实尝试过timer.js
,jtimer
以及其他一些API来做同样的事情。我可以通过分解事物并自己编写整个时钟逻辑来实现它,但是想要重用已经开发的API。
答案 0 :(得分:1)
我使用它多年:
<script type="text/javascript">
// Current Server Time script (SSI or PHP)- By JavaScriptKit.com (http://www.javascriptkit.com)
// For this and over 400+ free scripts, visit JavaScript Kit- http://www.javascriptkit.com/
// This notice must stay intact for use.
//Depending on whether your page supports SSI (.shtml) or PHP (.php), UNCOMMENT the line below your page supports and COMMENT the one it does not:
//Default is that SSI method is uncommented, and PHP is commented:
var currenttime = '<!--#config timefmt="%B %d, %Y %H:%M:%S"--><!--#echo var="DATE_LOCAL" -->' //SSI method of getting server date
//var currenttime = '<? print date("F d, Y H:i:s", time())?>' //PHP method of getting server date
///////////Stop editting here/////////////////////////////////
var montharray=new Array("January","February","March","April","May","June","July","August","September","October","November","December")
var serverdate=new Date(currenttime)
function padlength(what){
var output=(what.toString().length==1)? "0"+what : what
return output
}
function displaytime(){
serverdate.setSeconds(serverdate.getSeconds()+1)
var datestring=montharray[serverdate.getMonth()]+" "+padlength(serverdate.getDate())+", "+serverdate.getFullYear()
var timestring=padlength(serverdate.getHours())+":"+padlength(serverdate.getMinutes())+":"+padlength(serverdate.getSeconds())
document.getElementById("servertime").innerHTML=datestring+" "+timestring
}
window.onload=function(){
setInterval("displaytime()", 1000)
}
</script>
<p><b>Current Server Time:</b> <span id="servertime"></span></p>
<p style="font: normal 11px Arial">This free script provided by<br />
<a href="http://www.javascriptkit.com">JavaScript Kit</a></p>
了解更多信息,请参阅this
答案 1 :(得分:1)
您可以使用现有的jQuery时钟插件,允许您明确设置初始时间。
例如this plugin看起来很好用且很简单(sample code)并允许您设置时间戳,请参阅“带有自定义时间戳的时钟”。
因此,只需将服务器时间作为自定义时间戳传递,您就完成了。
答案 2 :(得分:0)
理想情况下,我会使用服务器端的Java日期格式化程序来格式化日期并将其添加到JSP模型中。但是,要回答这个问题,您可以使用Javascript Date类
var date = new Date('05 Jun, 2012 12:48:23 PM');
date.getMonth()
您可以在此处找到其他方法 - http://www.w3schools.com/jsref/jsref_obj_date.asp
PS:在发布此问题以便快速解决之前,我先将其谷歌搜索一下。