`
yr512656630
  • 浏览: 322941 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

js获取服务器时间

    博客分类:
  • js
阅读更多
一直傻傻的认为 var date = new Date();这个得到的是服务器时间,汗,等到有一天才明白,通过js获取server端时间是很麻烦的。。

我的测试服务器是windows2003的,以下代码在本机测试
severtime=new Date(xmlHttp.getResponseHeader("Date"));

但在2003服务器中用抓包工具需要改成
severtime=new Date(xmlHttp.getResponseHeader("Last-Modified"));

解决方案

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>1.html</title>

		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<meta http-equiv="description" content="this is my page">
		<meta http-equiv="content-type" content="text/html; charset=UTF-8">
	</head>

	<script language="javascript" type="text/javascript">
//因程序执行耗费时间,所以时间并不十分准确,误差大约在2000毫秒以下
var xmlHttp = false;
//获取服务器时间
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}
 
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}
 
xmlHttp.open("GET", "null.txt", false);
//需要在服务器相关目录下创建null.txt文件

xmlHttp.setRequestHeader("Range", "bytes=-1");
xmlHttp.send(null);
 
severtime=new Date(xmlHttp.getResponseHeader("Date"));
//我的是2003的,抓包发现头文件返回是 Last-Modified
 
//获取服务器日期
var year=severtime.getFullYear();
var month=severtime.getMonth()+1;
var date=severtime.getDate();
//获取服务器时间
var hour=severtime.getHours();
var minu=severtime.getMinutes();
var seco=severtime.getSeconds();
//获取客户端时间
localtime=new Date();
//取得时间差
var jtime=Math.abs(localtime.getTime()-severtime.getTime());
var jdate=jtime/(24*60*60*1000);
var jhour=jtime%(24*60*60*1000)/(60*60*1000);
var jminu=jtime%(24*60*60*1000)%(60*60*1000)/(60*1000);
var jsecond=jtime%(24*60*60*1000)%(60*60*1000)%(60*1000)/1000;
 
//格式化输出客户端时间
function getClientTime(){
localtime=new Date();
var cyear=localtime.getFullYear();
var cmonth=localtime.getMonth()+1;
var cdate=localtime.getDate();
var chour=localtime.getHours();
var cminu=localtime.getMinutes();
var cseco=localtime.getSeconds();
 
ccyear=addZero(cyear);
ccmonth=addZero(cmonth);
ccdate=addZero(cdate);
cchour=addZero(chour);
ccminu=addZero(cminu);
ccseco=addZero(cseco);
 
 cinnerdata="当前客户端时间:";
 document.getElementById("clienttime").innerHTML=cinnerdata+ccyear+"-"+ccmonth+"-"+ccdate+" "+cchour+":"+ccminu+":"+ccseco;
 document.getElementById('xctime').innerHTML=" 时间相差:"+Math.round(jdate)+"天"+Math.round(jhour)+"小时"+Math.round(jminu)+"分钟"+jsecond+"秒 总计:"+jtime+"毫秒";
}
//格式化输出服务器时间
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="当前服务器时间:";
 document.getElementById("servertime").innerHTML=innerdata+syear+"-"+smonth+"-"+sdate+" "+shour+":"+sminu+":"+sseco;
 setTimeout("getSeverTime()",1000);
 setTimeout("getClientTime()",100);
}
 
function addZero(num) {
num=Math.floor(num);
return ((num <= 9) ? ("0" + num) : num);
}
</script>
	<body onload="getSeverTime();">
		<p id="servertime"></p>
		<p id="clienttime"></p>
		<p id="xctime"></p>
	</body>
</html>

分享到:
评论

相关推荐

    js获取当前时间yyyymmddhhmmss

    js获取当前时间yyyymmddhhmmss js获取当前时间yyyymmddhhmmss js获取当前时间yyyymmddhhmmss js获取当前时间yyyymmddhhmmss js获取当前时间yyyymmddhhmmss js获取当前时间yyyymmddhhmmss js获取当前时间...

    纯 JS 获取 服务器时间 +

    标题“纯 JS 获取服务器时间 +”所指的就是使用JavaScript代码来实现从服务器获取准确的时间信息。下面是一个简单的示例,使用了XMLHttpRequest(XHR)进行同步请求: ```javascript function getServerTime() { ...

    js获取服务端时间并倒计时

    - `js 服务器时间`:指的是JavaScript获取服务器时间的方法,如上述示例所示。 - `倒计时`:指的是使用JavaScript实现的定时器功能,用来展示从某一时间点开始的剩余时间。 5. **项目文件结构**: - `demoeee....

    js获取当前时间yyyy-mm-dd-hh-mm-ss

    在JavaScript中,获取当前时间并以“yyyy-mm-dd-hh-mm-ss”的格式展示是一项常见的任务,这在处理日期和时间的前端应用中非常常见。本文将深入探讨如何使用JavaScript来实现这一功能,并提供相关代码示例。 ...

    纯 JS 获取 服务器时间(带农历)(附时间代码大全)

    通过以上示例,你可以了解到如何使用纯JavaScript获取服务器时间、进行农历转换,并掌握基本的时间操作技巧。在实际项目中,结合提供的HTML时间代码(如01.html、HTML时间代码.txt)和说明(如说明.txt、01.txt),...

    js获取当前时间

    在JS中获取当前时间是一项基本操作,对于创建动态网页或者实现时间相关的功能至关重要。 在JavaScript中,获取当前日期和时间主要通过`Date`对象来完成。`Date`对象提供了多种方法来创建、操作和格式化日期和时间。...

    JS 获取当前的时间

    在这个例子中,JavaScript获取了当前时间并将其显示在页面的`&lt;h1&gt;`元素中,提供了一种直观的用户界面。 总的来说,JavaScript通过Date对象提供了丰富的功能来处理日期和时间,无论是获取特定部分,还是格式化输出,...

    js获取当前时间显示在页面上并每秒刷新

    js获取当前时间显示在页面上&lt;/title&gt; [removed] [removed]=function(){ //定时器每秒调用一次fnDate() setInterval(function(){ fnDate(); },1000); } //js 获取当前时间 function fnDate(){ var oDiv=...

    JS获取当前时间并格式化"yyyy-MM-dd HH:mm:ss"

    在JavaScript中,获取和格式化当前时间是一项常见的任务,尤其在网页开发中,我们经常需要显示或处理日期和时间信息。下面将详细讲解如何利用JavaScript的内置Date对象以及自定义扩展来实现这一功能。 首先,我们...

    js获取当前时间代码.rar

    下面我们将深入探讨如何利用JavaScript获取当前时间,并形成yyyymmddhhmmss格式的字符串。 首先,创建一个Date对象实例是获取当前时间的第一步。Date对象是JavaScript内置的构造函数,可以不带参数地调用以获取当前...

    js获取服务器的时间(不是本地时间哦)

    想要知道对方的服务器时间怎么办?这段代码就可以轻松实现啦。在chrome的console中输出这段代码就会返回一个时间,是服务器时间哦!

    js获取页面上的时间和当前时间进行比较判断

    ### JS 获取页面上的时间和当前时间进行比较判断 在前端开发中,经常需要处理与时间相关的逻辑,例如验证...以上就是关于如何使用JavaScript获取页面上的时间和当前时间进行比较判断的详细介绍,希望对大家有所帮助。

    js获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmm

    js获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs...

    JS获取当前时间的N中方法

    ### JS 获取当前时间的多种方法 在Web开发中,经常需要用到日期和时间处理的功能,而JavaScript作为前端开发的重要工具之一,提供了丰富的API来处理日期和时间。本文将详细介绍JavaScript中获取当前时间及其组成...

    js获取系统当前时间

    使用JavaScript获取当前日期和时间 在提供的代码示例中,主要通过`new Date()`来创建一个新的`Date`对象,该对象表示当前的日期和时间。然后通过一系列的方法来获取年份、月份、日期等具体信息。 #### `new Date...

    用moment.js 获取当前时间源码.zip

    - **get-moment-time.js**:这是主要的JavaScript源代码文件,里面应该包含使用Moment.js获取并格式化当前时间的代码。 - **package.json**:这个文件记录了项目的依赖关系,包括Moment.js,以及其他可能的npm包和...

    网页常用javascript获取当前时间常见的特效节日倒计时知识.pdf

    网页常用javascript获取当前时间常见的特效节日倒计时知识 本文档主要介绍了使用javascript获取当前时间,并展示一些常见的特效,例如节日倒计时、滚动文字、记录并显示网页的最后修改时间、关闭当前窗口、添加到...

    JS获取当前时间日期

    JS中获取当前的日期和时间,方便在JSP页面获取时间

    Js获取当前日期时间及格式化代码

    描述中的知识点:介绍了如何使用JavaScript(Js)获取当前的日期和时间,并提供了一个格式化日期时间的代码示例。 标签中的知识点:涉及到Js在获取日期时间方面相关的几个关键功能和方法,包括获取年份、月份、日、...

Global site tag (gtag.js) - Google Analytics