科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道解决用javascript获取服务器时间的过程--使用xmlhttp获取服务器时间

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

解决用javascript获取服务器时间的过程--使用xmlhttp获取服务器时间的有关内容。

作者:workingfish 来源:CSDN 2008年3月17日

关键字: 服务器时间 获取 java

  • 评论
  • 分享微博
  • 分享邮件
 昨天开发时候遇到一个问题:页面上使用一个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>
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章