解决用javascript获取服务器时间的过程--使用xmlhttp获取服务器时间

       昨天开发时候遇到一个问题:页面上使用一个checkbox,点击checkbox的时候需要获取到当前的时间,由于不能刷新页面,问题来了:

       如何使用javascript获取服务器时间???google了,csdn了,甚至也摆渡了,呵呵,老是见到梅老大的那个获取时间的出现,本人愚钝,无法领悟其中的奥妙,也就是问题没有解决,好像问题也很严重! 

     顺便附上梅老大的代码:

< html >< head >
< script language = javascript >
// 特别注明:北京时间是格林尼治标准时加八小时,因此我用的起始时间也是从八点起算的
var  secondServer  =   <%= DateDiff( " s " " 1970-01-01 08:00:00 " , Now()) %> ;
var  secondClient  =  parseInt( new  Date().getTime() / 1000 );
var  secondSub     =  secondServer  -  secondClient;          // 两端时间秒差
function  meizzTime(n)
{
   
var mei = new Date();
         
//得到一个新的时间
   var y = mei.getYear();
   
var m = mei.getMonth();
   
var d = (mei.getDay()   > 9? mei.getDay()   : "0" + mei.getDay();
   mei.setTime(mei.getTime() 
+ n*1000); 
   
var h = (mei.getHours()   > 9? mei.getHours()   : "0" + mei.getHours();
   
var m = (mei.getMinutes() > 9? mei.getMinutes() : "0" + mei.getMinutes();
   
var s = (mei.getSeconds() > 9? mei.getSeconds() : "0" + mei.getSeconds();
   document.getElementById(
"clock").value = y+"-"+m+"-"+d+" "+ h +":"+ m +":"+ s;
   setTimeout(
"meizzTime(secondSub)"1000);
}

</ script >
< meta http - equiv = ' Content-Type '  content = ' text/html; charset=gb2312 ' >
< meta http - equiv = " refresh "  content = " 1000 " >
< title > 取服务器端时间(秒数) </ title >
</ head >

< body onload = " meizzTime(secondSub) " >
< form name = meizz >< input name = clock size = 80 ></ form >
</ body ></ html >

一火之下在csdn上发了贴子:http://community.csdn.net/Expert/topic/5055/5055907.xml?temp=5.111331E-02  呵呵,好家伙,几分钟内n个人给了n个解决方法,看来csdn上热心的兄弟真不少!!这里再次感谢大家!!

在大家的提示下终于找到了解决的方法:

1、做一个动态显示时间的页面,2.aspx,代码很高深,但是也太。。。。。。。他nnd的简单了

<%= now() %>  

2、用另外一个页面1.htm获取2.aspx页面中的内容

< html >
< script  language ="JavaScript" >   
        
//获取当前时间作为一个不相同的随机数
        function getNowTime()
        
{
            
var d, s ;
            d 
= new Date();
            s 
= d.getFullYear();
            s 
+= "-" +d.getDate();
            s 
+= "-"+d.getHours();
            s 
+= "-"+d.getMinutes();
            s 
+= "-"+d.getSeconds();
            s 
+= "-"+d.getMilliseconds();
            
return s;
        }

        
//根据2.aspx中返回的服务器时间,2.aspx中要传入一个不相同的随机数
        //有兴趣的可以试下不添加随机数作为参数,估计很郁闷^.^
        //原理:跟ie中保留临时文件有关系,具体就不知道如何描述了,呵呵
        function getServerTime() 
        

        
var objXMLHTTP=new ActiveXObject("MICROSOFT.XMLHTTP"); 
        objXMLHTTP.open(
"GET","2.aspx?nowTime="+getNowTime(),false); 
        objXMLHTTP.send(
""); 
        
var strReturn=objXMLHTTP.ResponseText; 
        document.getElementById(
"Text1").value= strReturn;  
        }
 
</ script >
< body >
    
< span  id ="online_num" >< INPUT  id ="Checkbox1"  type ="checkbox"  name ="Checkbox1"  onclick =getServerTime(); >
    
< INPUT  id ="Text1"  type ="text"  name ="Text1" ></ span >
</ body >
</ html >

 

嘿嘿,废话一大堆,原来就这么简单,欢迎大家拍砖!!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码视野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值