js获取服务器时间,js如何取得服务器时间
大家好,关于js获取服务器时间很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于js如何取得服务器时间的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
html网页怎样获取服务器的时间
网页前端是无法获取到服务器时间的,只有通过后台取值然后进行传递。使用Ajax每秒获取服务器的时间并显示出来,但是服务器网络延迟较高,这样误差较大。
示例采用Head的方法处理,第一次页面加载时从服务器端获得时间,以这个时间为基准,客户端再用js每秒累加。
完整代理示例:
<html>
<head>
<title>html网页获取服务器的时间</title>
<scriptlanguage="JavaScript"type="text/javascript">
<!--程序执行需要耗费时间,误差在2秒以下-->
varxmlHttp=false;
<!--获取服务器时间-->
try{
xmlHttp=newActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
}catch(e2){
xmlHttp=false;
}
}
if(!xmlHttp&&typeofXMLHttpRequest!='undefined'){
xmlHttp=newXMLHttpRequest();
}
xmlHttp.open("GET","
,false);
xmlHttp.setRequestHeader("Range","bytes=-1");
xmlHttp.send(null);
severtime=newDate(xmlHttp.getResponseHeader("Date"));
<!--获取服务器日期-->
varyear=severtime.getFullYear();
varmonth=severtime.getMonth()+1;
vardate=severtime.getDate();
<!--获取服务器时间-->
varhour=severtime.getHours();
varminu=severtime.getMinutes();
varseco=severtime.getSeconds();
<!--格式化输出服务器时间-->
functiongetSeverTime(){
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;
}
}elseif(month==4||month==6||month==9||month==11){
if(date==31){
date=1;
month+=1;
}
}elseif(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="当前服务器时间:";
document.getElementById("servertime").innerHTML=innerdata+syear+"-"+smonth+"-"+sdate+""+shour+":"+sminu+":"+sseco;
setTimeout("getSeverTime()",1000);
setTimeout("getClientTime()",100);
}
functionaddZero(num){
num=Math.floor(num);
return((num<=9)?("0"+num):num);
}
</script>
</head>
<bodyonLoad="getSeverTime();">
<pid="servertime"></p>
<pid="clienttime"></p>
<pid="xctime"></p>
</body>
</html>
【扩展】网页前端获取当前时间,调用date()函数即可。
示例代码:
<spanid="cg"></span>
<script>setInterval("cg.innerHTML=newDate().toLocaleString()",1000);</script>
JS如何获取当前系统时间
系统时间一般是值服务端时间,js获取服务端时间的方法是直接用ajax获取。
1、编写显示时间的页面:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Server 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>
2、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);
js如何取得服务器时间
正如楼上所说的,js只能操作客户端的东西。在客户端时刻显示并更新服务器的时间应该是不可能的,因为会由于网络延迟的因素使得时间不精确。
打个比方,可以使用ajax每秒钟获取服务器的时间,然后再显示出来,但是可能这个用户的网络延迟比较厉害,他请求的这个时间过了两三秒才返回给客户端,那这样更新时间就不精确了。
也可以这样,第一次从服务器那里获取时间,然后再客户端用js,每秒累加数,就是以获取服务器的那个时间为起掉,用客户端代码每秒累加这个时间
关于js获取服务器时间和js如何取得服务器时间的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。