0

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

我确实尝试过timer.jsjtimer其他一些 API 也尝试过。我可以通过拆分事物并自己编写整个时钟逻辑来做到这一点,但我想重用已经开发的 API。

4

3 回答 3

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>

有关更多信息,请参阅

于 2012-06-05T08:09:07.883 回答
1

您可以使用现有的 jQuery 时钟插件,允许您显式设置初始时间。

例如,这个插件看起来不错且易于使用(示例代码),并允许您设置时间戳,请参阅“带有自定义时间戳的时钟”下。

因此,只需将服务器时间作为自定义时间戳传递,您就完成了。

于 2012-06-05T08:28:56.513 回答
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:在发布这个问题以便快速解决之前,我会先用谷歌搜索它。

于 2012-06-05T07:29:24.593 回答