广告位 后台主题配置管理 |
广告位 后台主题配置管理 |
今天给各位分享js显示服务器时间的知识,其中也会对js取服务器时间进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
如果是网页前端的js是无法直接获得服务器时间的。只能借助一些服务器端语言,比如PHP,JSP,ASP等。方法是在服务器端获取服务器时间,然后输出一条js的幅值语句。
正如楼上所说的,js只能操作客户端的东西。在客户端时刻显示并更新服务器的时间应该是不可能的,因为会由于网络延迟的因素使得时间不精确。
打个比方,可以使用ajax每秒钟获取服务器的时间,然后再显示出来,但是可能这个用户的网络延迟比较厉害,他请求的这个时间过了两三秒才返回给客户端,那这样更新时间就不精确了。
也可以这样,第一次从服务器那里获取时间,然后再客户端用js,每秒累加数,就是以获取服务器的那个时间为起掉,用客户端代码每秒累加这个时间
直接给你代码吧,这个是JS可以读取本地时间和服务器时间的。如果想看效果可以看参考资料
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns="" xml:lang="en" lang="en"
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8"/
titleuntitled/title
script type="text/javascript"
get=function (id){return document.getElementById(id)}
if(document.all){
window.XMLHttpRequest=function(){
var get=['Microsoft.XMLHTTP','Msxml2.XMLHTTP'];
for(var i=0;iget.length;i++){try{return new ActiveXObject(get[i])}catch(e){}};
};
}
webDate=function(fn){
var Htime=new XMLHttpRequest();
Htime.onreadystatechange=function(){Htime.readyState==4(fn(new Date(Htime.getResponseHeader('Date'))))};
Htime.open('HEAD', '/?_='+(-new Date));
Htime.send(null);
}
window.time=new Date();
targetTime=new Date();
time2String=function (t){
with(t)return [getFullYear(),'年'
,('0'+(getMonth()+1)).slice(-2),'月'
,('0'+getDate()).slice(-2),'日 '
,('0'+getHours()).slice(-2),': '
,('0'+getMinutes()).slice(-2),': '
,('0'+getSeconds()).slice(-2)].join('')
}
int2time=function (m){
m-=(D=parseInt(m/86400000))*86400000;
m-=(H=parseInt(m/3600000))*3600000;
S=parseInt((m-=(M=parseInt(m/60000))*60000)/1000);
return D+'天'+H+'小时'+M+'分'+S+'秒'
}
setInterval(function (){
webDate(function (webTime){
get('web').innerHTML=time2String(time=webTime);
})
get('locale').innerHTML=time2String(new Date);
get('time').innerHTML=int2time(targetTime-time);
if ((targetTime-time)0) {
get('time').innerHTML = 'Game Over';
}
},1000)
/script
/head
body
设定时间:2012年12月31日0时0分0秒br /
服务器时间:span id='web'loading.../spanbr /
本地时间:span id="locale"loading.../spanbr /
倒计时时间:span id="time"loading.../span
script type="text/javascript" charset="utf-8"
targetTime=new Date(2012,12,31,00,00,00);
/script
/body
/html
系统时间一般是值服务端时间,js获取服务端时间的方法是直接用ajax获取。
编写显示时间的页面:
html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
titleServer date/time/title
script language="javascript" src="serverDate.js"/script
/head
script language="javascript"
var localTime = new Date();
document.write("Local machine time is: " + localTime + "br");
document.write("Server time is: " + date);
/script
body
/body
ajax脚本获取server的时间
var xmlHttp;
function srvTime(){
try {
//创建xmlHttp对象
xmlHttp = new XMLHttpRequest();
}
catch (err1) {
//ie浏览器
try {
xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (err2) {
try {
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (eerr3) {
//ajax不支持
alert("AJAX not supported");
}
}
}
//打开xmlHttp请求
xmlHttp.open('HEAD',window.location.href.toString(),false);
//设置xmlHttp请求头
xmlHttp.setRequestHeader("Content-Type", "text/html");
//发送请求
xmlHttp.send('');
// 获取response中的Date参数
return xmlHttp.getResponseHeader("Date");
}
var st = srvTime(); //服务器时间赋值给st变量
var date = new Date(st); //转换js的date对象
// 输出服务器时间
document.write("服务器时间: " + date);
拓展资料:
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
语句:JavaScript程序是由若干语句组成的,语句是编写程序的指令。JavaScript提供了完整的基本编程语句,
它们是:赋值语句、switch选择语句、while循环语句、for循环语句、for each循环语句、do...while循环语句、break循环中止语句、continue循环中断语句、with语句、try…catch语句、if语句(if..else,if…else if…)。
以asp+js为例说明。
下面分析代码结构,先是获取服务器时间:
代码如下:
%
d=Date()
t=Time()
%
var
t0=new
Date().getTime();
var
nyear=%=Year(d)%;
var
nmonth=%=Month(d)%;
var
nday=%=Day(d)%;
var
nwday=%=WeekDay(d)%-1;
var
nhrs=%=Hour(t)%;
var
nmin=%=Minute(t)%;
var
nsec=%=Second(t)%;
//获得本机时间和服务器时间之差
var
dectime=new
Date(nyear,nmonth-1,nday,nhrs,nmin,nsec).getTime()-t0;
nday=-1;
//用于显示时间的span
document.write("span
id=\"clock\"
style=\"word-break:keep-all\"/span");
//时间计算函数:
function
NewTick(){
var
noww=new
Date();
var
t1=noww.getTime();
noww.setTime(t1+dectime);
if(noww.getDate()!=nday){
nyear=noww.getFullYear();nmonth=noww.getMonth()+1;nwday=noww.getDay();nday=noww.getDate();
}
nhrs=noww.getHours();nmin=noww.getMinutes();nsec=noww.getSeconds();
}
//时间显示函数:
function
Draw(){
NewTick();
//先计算
var
s=nyear+'年'+nmonth+'月'+nday+'日
'+'星期'+cweekday(nwday)+'
'+shapetime(nhrs,nmin,nsec);
s+="
农历"+lmonth+"月"+lday;//显示农历
document.getElementById("clock").innerHTML=s;
//每隔500毫秒重新获取一下本机时间:
setTimeout("Draw()",500);
}
//开始显示:
Draw();
关于js显示服务器时间和js取服务器时间的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
广告位 后台主题配置管理 |
广告位 后台主题配置管理 |