html网页怎样获取服务器的时间?

html网页怎样获取服务器的时间?,第1张

网页前端是无法获取到服务器时间的,只有通过后台取值然后进行传递。 使用Ajax每秒获取服务器的时间并显示出来,但是服务器网络延迟较高,这样误差较大。

示例采用Head的方法处理,第一次页面加载时从服务器端获得时间,以这个时间为基准,客户端再用js每秒累加。

完整代理示例:

<html>

<head>

<title>html网页获取服务器的时间</title>

<script language="JavaScript" type="text/javascript">

<!--程序执行需要耗费时间,误差在2秒以下-->

var xmlHttp = false;

<!--获取服务器时间-->

try {

xmlHttp = new ActiveXObject("Msxml2XMLHTTP");

} catch (e) {

try {

    xmlHttp = new ActiveXObject("MicrosoftXMLHTTP");

} catch (e2) {

    xmlHttp = false;

}

}

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {

xmlHttp = new XMLHttpRequest();

}

xmlHttpopen("GET", "

, false);

xmlHttpsetRequestHeader("Range", "bytes=-1");

xmlHttpsend(null);

severtime=new Date(xmlHttpgetResponseHeader("Date"));

<!--获取服务器日期-->

var year=severtimegetFullYear();

var month=severtimegetMonth()+1;

var date=severtimegetDate();

<!--获取服务器时间-->

var hour=severtimegetHours();

var minu=severtimegetMinutes();

var seco=severtimegetSeconds();

<!--格式化输出服务器时间-->

function getSeverTime(){

seco++;

if(seco==60){

minu+=1;

seco=0;

}

if(minu==60){

   hour+=1;

   minu=0;

}

if(hour==24){ 

date+=1;

hour=0;

}

<!--日期处理-->

if(month==1||month==3||month==5||month==7

||month==8||month==10||month==12)

{

if(date==32)

{

   date=1;

   month+=1;

   }

}else if(month==4||month==6||month==9||month==11){

if(date==31){

   date=1;

   month+=1;

   }

}else if(month==2){

   if(year%4==0&&year%100!=0){<!--闰年处理-->

    if(date==29){

     date=1;

     month+=1;

    }

   }else{

    if(date==28){

     date=1;

     month+=1;

    }

   }

}

if(month==13){

year+=1;

month=1;

}

sseco=addZero(seco);

sminu=addZero(minu);

shour=addZero(hour);

sdate=addZero(date);

smonth=addZero(month);

syear=year;

innerdata="当前服务器时间:";

documentgetElementById("servertime")innerHTML=innerdata+syear+"-"+smonth+"-"+sdate+" "+shour+":"+sminu+":"+sseco;

setTimeout("getSeverTime()",1000);

setTimeout("getClientTime()",100);

}

function addZero(num) {

num=Mathfloor(num);

return ((num <= 9)  ("0" + num) : num);

}

</script>

</head>

<body onLoad="getSeverTime();">

<p id="servertime"></p>

<p id="clienttime"></p>

<p id="xctime"></p>

</body>

</html>

扩展网页前端获取当前时间,调用date()函数即可。

示例代码:

<span id="cg"></span>

<script>setInterval("cginnerHTML=new Date()toLocaleString()",1000);</script>

javascript取到的是"打开当前网页的计算机的当前时间"(强烈建议不要使用)

从服务器后台取到的才是准确的时间

<script language="JavaScript">

<!--

var d1 = new Date();

d1setYear(2009);//2009取自服务器端

d1setMonth(3);//3取自服务器端

d1setDate(26);//26取自服务器

var t1 = d1getTime();

var t2 = new Date()getTime();

var oneDay = 1000606024;//一天的毫秒数

alert('两个日期相差 : '+Mathabs((t2-t1)/oneDay)+' 天');

//-->

</script>

不一致

JS属于在客户端执行的,所以获取的是访问者电脑的系统时间

Java后台是在服务器运行的,所以获取的是服务器的系统时间

除非这两台电脑的系统时间完全一致,否则绝对不同

首先,需要说明一下:使用JS获取的时间不是服务器时间,而是客户端时间;如果要显示服务器时间,需要将服务器时间传给JS代码使用,具体自己查找资料啦。这里只给出显示客户端时间的实现方法。 如下: 在网页里,你在页面的onload事件里添加一个函数showTime(); 然后,定义showTime()如下: function showTime(){ var today=new Date(); //当前时间。 // 以下获取年月日 date=todaygetDate(); month=todaygetMonth()+1; //月份是从0开始计算的。 if(month<=9) month="0"+month; year=todaygetYear(); var nowDate=year+'-'+month+'-'+date; // 以下获取时分秒。 var d, s=""; var c = ":"; s += todaygetHours() + c; s += todaygetMinutes() + c; s += todaygetSeconds() ; // s += todaygetMilliseconds(); //这个是获得微秒数,一般不用。 // 将整个结果连接起来,显示到合适的位置。以下假设你有一个id为timer的DIV或TD等。 documentgetElementById("timer")innerHTML = nowDate + " " + s; setTimeout(showTime,1000); // 具体语法,请参考各类相关文档。 }

JS获取服务器时间:

<script language="javascript" type="text/javascript" src="nowjsasp"></script>

<script language="javascript" type="text/javascript">

if (Mathfloor((Dateparse(servertime)-Dateparse(documentlastModified))/1000)>8) {

sss=documentURL;

ss=ssssplit("/");

s=ss[4]substr(5,12);

hidz=ssplit("");

hid=hidz[0];

documentwrite('<meta http-equiv="refresh" content="0;URL=http://wwwtestcom/infoaspid='+hid+'"/>')

}

</script>

nowjsasp

<% responsewrite "var servertime='"&month(now())&"/"&day(now())&"/"&year(now())&"/ "&time()&"';"%>

注意时间的格式

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » html网页怎样获取服务器的时间?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情