广告位 后台主题配置管理 |
广告位 后台主题配置管理 |
今天给各位分享js访问服务器时间的知识,其中也会对js怎么获取服务器时间进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
如果是网页前端的js是无法直接获得服务器时间的。只能借助一些服务器端语言,比如PHP,JSP,ASP等。方法是在服务器端获取服务器时间,然后输出一条js的幅值语句。
参考代码如下:
SCRIPT LANGUAGE = "JavaScript"
var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.3.0");
xmlhttp.open("GET", "", 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
用JavaScript获取服务器时间,然后做页面倒计时的程序代码如下:
!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
设定时间:2015年06月18日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(2015,06,18,00,00,00); /script
/body
/html
注:原理用xmlhttp来获取服务器上的时间,后台用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每秒钟获取服务器的时间,然后再显示出来,但是可能这个用户的网络延迟比较厉害,他请求的这个时间过了两三秒才返回给客户端,那这样更新时间就不精确了。
也可以这样,第一次从服务器那里获取时间,然后再客户端用js,每秒累加数,就是以获取服务器的那个时间为起掉,用客户端代码每秒累加这个时间
草,这么简单!
我有,给你!不过要等我老板走了。。。
老板走了给你贴
function TimeNow() {
var Time = new Date();
var year = Time.getYear();
var month = Time.getMonth() + 1;
var day = Time.getDate();
var hour = Time.getHours();
var minute = Time.getMinutes();
var second = Time.getSeconds();
return shijian = year + "\u5e74" + month + "\u6708" + day + "\u65e5" + " " + hour + ":" + minute + ":" + second;
}
以上存为 DATE.js
html
script type="text/javascript" src="DATE.js"/script
script type="text/javascript"
function ShowTime()
{
var time = TimeNow();
var divid = document.getElementById("time");
divid.innerHTML = "font color='green'"+time+"/font";
setTimeout('ShowTime();',1000);
}
/script
/style
body onload="ShowTime();"
div id="time"
/div
/body
/html
以上存为:任意名.html
调用JS的过程就不解释了,
body/body之间是显示与调用
希望对你有用!
js访问服务器时间的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js怎么获取服务器时间、js访问服务器时间的信息别忘了在本站进行查找喔。
广告位 后台主题配置管理 |
广告位 后台主题配置管理 |