在jsp上显示时钟

时间:2012-06-05 07:20:48

标签: javascript jquery

我想在jsp文件上显示时钟,时间是从服务器获取的,并且是05 Jun, 2012 12:48:23 PM格式我希望同时更新而不是占用客户端时间。

我确实尝试过timer.jsjtimer以及其他一些API来做同样的事情。我可以通过分解事物并自己编写整个时钟逻辑来实现它,但是想要重用已经开发的API。

3 个答案:

答案 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:在发布此问题以便快速解决之前,我先将其谷歌搜索一下。