获取服务器时间

(1)情景分析:

项目系统中会经常会遇到修改数据,修改数据有一种需求:只能修改一定时间段内的数据。这种情况需要获得服务器的当前时间。那么问题来了,怎么获得服务器的时间呢?

(2)方法归纳:

1.java代码后端new Date()可以得到服务时间(这种情况不是适合客户端获取)

2.一般用js代码获取服务器时间

    (1)

    获取服务器返回的头部信息中的Date属性 
        由于得到的是GMT(格林尼治时间) 
         所以要转换成东八区的时间 
         这个就是响应服务器的当前时间。
                             var date = new Date($.ajax({async: false}).getResponseHeader("Date"));
                             var bom= date + (3600000 * 8);
                             var time = new Date(bom);

                         好看的写法:

                             function getCurDate(){
              var date="";
                                var url='..........';
                               $.ajax({
                                       type:'post',
                                       url:url,
                                       async:false,(同步)
                                    dataType: 'json',      
                                      complete: function( xhr,data ){        
                                      date= xhr.getResponseHeader('Date');//String类型        
                          }                          
                                  }); 
                                 return date;          
                           }

                  (2)                   

                     在 HTTP 头里带一个Date的头部信息,用Ajax直接取头部信息里的Date就可获取服务器时间

                          js写法

                     var xhr = new XMLHttpRequest();  

                   if( !xhr ){  

                           xhr = new ActiveXObject("Microsoft.XMLHTTP");  

                   }  

                   xhr.open("HEAD",url,true);  

                   xhr.onreadystatechange=function(){  

                        if( xhr.readyState == 4 && xhr.status == 200 ){  

                                 alert(xhr.getResponseHeader("Date"));  

                         }  

                   }  

                   xhr.send(null); 

           (3)

           <script language="javascript"> 
             var a = new Date() 
             a = <%=System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")%>; 
             Response.Write(a) 
           </script> 

           (4)  

           <script runat="server" language="javascript"> 
                var a = new Date(); 
                a =a.getFullYear()+ "-"+(a.getMonth()+1)+"-"+a.getDate()+" "+a.getHours()+":"+a.getMinutes(); 
                Response.Write(a); 
          </script>      


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值