一直傻傻的认为 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获取当前时间...
标题“纯 JS 获取服务器时间 +”所指的就是使用JavaScript代码来实现从服务器获取准确的时间信息。下面是一个简单的示例,使用了XMLHttpRequest(XHR)进行同步请求: ```javascript function getServerTime() { ...
- `js 服务器时间`:指的是JavaScript获取服务器时间的方法,如上述示例所示。 - `倒计时`:指的是使用JavaScript实现的定时器功能,用来展示从某一时间点开始的剩余时间。 5. **项目文件结构**: - `demoeee....
在JavaScript中,获取当前时间并以“yyyy-mm-dd-hh-mm-ss”的格式展示是一项常见的任务,这在处理日期和时间的前端应用中非常常见。本文将深入探讨如何使用JavaScript来实现这一功能,并提供相关代码示例。 ...
通过以上示例,你可以了解到如何使用纯JavaScript获取服务器时间、进行农历转换,并掌握基本的时间操作技巧。在实际项目中,结合提供的HTML时间代码(如01.html、HTML时间代码.txt)和说明(如说明.txt、01.txt),...
在JS中获取当前时间是一项基本操作,对于创建动态网页或者实现时间相关的功能至关重要。 在JavaScript中,获取当前日期和时间主要通过`Date`对象来完成。`Date`对象提供了多种方法来创建、操作和格式化日期和时间。...
在这个例子中,JavaScript获取了当前时间并将其显示在页面的`<h1>`元素中,提供了一种直观的用户界面。 总的来说,JavaScript通过Date对象提供了丰富的功能来处理日期和时间,无论是获取特定部分,还是格式化输出,...
js获取当前时间显示在页面上</title> [removed] [removed]=function(){ //定时器每秒调用一次fnDate() setInterval(function(){ fnDate(); },1000); } //js 获取当前时间 function fnDate(){ var oDiv=...
在JavaScript中,获取和格式化当前时间是一项常见的任务,尤其在网页开发中,我们经常需要显示或处理日期和时间信息。下面将详细讲解如何利用JavaScript的内置Date对象以及自定义扩展来实现这一功能。 首先,我们...
下面我们将深入探讨如何利用JavaScript获取当前时间,并形成yyyymmddhhmmss格式的字符串。 首先,创建一个Date对象实例是获取当前时间的第一步。Date对象是JavaScript内置的构造函数,可以不带参数地调用以获取当前...
想要知道对方的服务器时间怎么办?这段代码就可以轻松实现啦。在chrome的console中输出这段代码就会返回一个时间,是服务器时间哦!
### JS 获取页面上的时间和当前时间进行比较判断 在前端开发中,经常需要处理与时间相关的逻辑,例如验证...以上就是关于如何使用JavaScript获取页面上的时间和当前时间进行比较判断的详细介绍,希望对大家有所帮助。
js获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs获取当前时间yyyymmddhhmmssjs...
### JS 获取当前时间的多种方法 在Web开发中,经常需要用到日期和时间处理的功能,而JavaScript作为前端开发的重要工具之一,提供了丰富的API来处理日期和时间。本文将详细介绍JavaScript中获取当前时间及其组成...
使用JavaScript获取当前日期和时间 在提供的代码示例中,主要通过`new Date()`来创建一个新的`Date`对象,该对象表示当前的日期和时间。然后通过一系列的方法来获取年份、月份、日期等具体信息。 #### `new Date...
- **get-moment-time.js**:这是主要的JavaScript源代码文件,里面应该包含使用Moment.js获取并格式化当前时间的代码。 - **package.json**:这个文件记录了项目的依赖关系,包括Moment.js,以及其他可能的npm包和...
网页常用javascript获取当前时间常见的特效节日倒计时知识 本文档主要介绍了使用javascript获取当前时间,并展示一些常见的特效,例如节日倒计时、滚动文字、记录并显示网页的最后修改时间、关闭当前窗口、添加到...
JS中获取当前的日期和时间,方便在JSP页面获取时间
描述中的知识点:介绍了如何使用JavaScript(Js)获取当前的日期和时间,并提供了一个格式化日期时间的代码示例。 标签中的知识点:涉及到Js在获取日期时间方面相关的几个关键功能和方法,包括获取年份、月份、日、...