js获取服务器时间(动态)

JavaScript026

js获取服务器时间(动态),第1张

JS 是客户端脚本 无法显示数据库的时间的

你可以用服务器空间 比如 lable 在 page_load 的时候 DateTime.Now().Tostring()

然后给这个lable赋值 就行了

参考代码如下:

<SCRIPT LANGUAGE = "JavaScript">

var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.3.0")

xmlhttp.open("GET", "http://bjtime.cn", false)

xmlhttp.setRequestHeader("If-Modified-Since", "bjtime")

xmlhttp.send()

var dateStr = xmlhttp.getResponseHeader("Date")

var date = new Date(dateStr)

var year = date.getFullYear()

var month = date.getMonth() + 1

var date1 = date.getDate()

var hour = date.getHours()

var minutes = date.getMinutes()

var second = date.getSeconds()

alert(date + "  |  " + year + "年" + month + "月" + date1 + "日" + hour + "时" + minutes + "分" + second + "秒")

</SCRIPT>

正如楼上所说的,js只能操作客户端的东西。在客户端时刻显示并更新服务器的时间应该是不可能的,因为会由于网络延迟的因素使得时间不精确。

打个比方,可以使用ajax每秒钟获取服务器的时间,然后再显示出来,但是可能这个用户的网络延迟比较厉害,他请求的这个时间过了两三秒才返回给客户端,那这样更新时间就不精确了。

也可以这样,第一次从服务器那里获取时间,然后再客户端用js,每秒累加数,就是以获取服务器的那个时间为起掉,用客户端代码每秒累加这个时间