在通过js获取服务器时间时,遇到了小小的问题,但造成的影响挺大的,所以写出来提醒大家,在获取服务器时间时一定要细心要多测试多验证。

js 中使用以下方法获取服务器时间时要注意两点:

1.xhr.open()方法中,中间的路径最好不要写 “” 或  "/",如果写空,在部分谷歌下获取时间会有问题,所以最好给一个具体的URL。

2.该获取时间方法,可以正确获取服务器时间,若服务器改时区后,此处获取的依然是服务器北京时区下应该显示的时间。

而本机电脑获取服务器时间后,也会将该时间转换为本机电脑上时区应该显示的问题。

所以本地改时区后,会将服务器时间改为本地时区对应的时间,这一点一定要注意!!!!!!!!!!!

可以将获取到的时间统一更改为北京时区时间,或直接改为从后台获取。

这两个方法也是从其他文章中摘抄的,希望大神能原谅~~~~~~~~~~~~~~~~~~~~

//获取服务器时间

function getServerDate(){

var xhr = null;

if(window.XMLHttpRequest){

xhr = new window.XMLHttpRequest();

}else{ // ie

xhr = new ActiveObject("Microsoft")

}

xhr.open("GET", "<%=basePath%>user/toupdpwd?id=26",false)//false不可变

xhr.send(null);

var date = xhr.getResponseHeader("Date");

//转为北京时区时间

//return getBeiJingTime(date)

return new Date(date);

}

//将时间转为北京时区时间

function getBeiJingTime(date) {

var d = new Date(date);

var timezone = 8; //目标时区时间,东八区

var offset_GMT = d.getTimezoneOffset(); // 本地时间和格林威治的时间差,单位为分钟

var nowDate = d.getTime(); // 本地时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数

var targetDate = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000);

console.log("东8区现在是:" + targetDate);

return targetDate;

}
————————————————
版权声明:本文为CSDN博主「yezi_huan」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yezi_yanyuhuan/article/details/96769160

JavaScript获取当前时区:

new Date().getTimezoneOffset()
这样获取到的是与0时区的时间差(0时区减去当前所在时区,单位是分钟)
中国标准时间是以东八区为准,比0时区的时间要早8个小时,所以是-480,除以60就是所在时区
时间字符串转成毫秒时,如果我们不加时区,则系统会默认把当前时区加上,也可自定义时区来转换
(也可先转成毫秒,再加上时间差,再转成时间字符串,这样明显要麻烦多了)

————————————————
版权声明:本文为CSDN博主「password-u」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013992330/article/details/78625855

第一种:
$.ajax({
type:"OPTIONS",
url:"/",
complete:function(x){
var date = x.getResponseHeader("Date");
date = new Date(date);
}
}); 结果:Mon Oct 23 2017 17:26:59 GMT+0800 (中国标准时间) 第二种:
function getNowDate(){
var xhr = null;
if(window.XMLHttpRequest){
xhr = new window.XMLHttpRequest();
}else{
xhr = new ActiveObject("Microsoft")
} xhr.open("GET","/",false);
xhr.send(null);
var date = xhr.getResponseHeader("Date");
date = new Date(date);
return date;
}
结果:Mon Oct 23 2017 17:26:59 GMT+0800 (中国标准时间)

原文地址:https://www.cnblogs.com/yexiaocangji/p/7717811.html

依赖jQuery

代码:

function getServerDate(){
return new Date($.ajax({async: false}).getResponseHeader("Date"));
}

JS 中获取服务器时间的注意点的更多相关文章

  1. js中获取当前时间

    var d = new Date();var date = d.getFullYear() + "年" +(d.getMonth() + 1) + "月" +  ...

  2. HTML 中获取现在时间,实时时间获取

    JavaScript   Date 对象 Date 对象用于处理日期与实际. 创建 Date 对象: var now  =  new Date(). 方法 描述 getDate() 从 Date 对象 ...

  3. JS中new Date()用法及获取服务器时间

    1.获取服务器时间: var now = new Date($.ajax({async: false}).getResponseHeader("Date")); 2.new Dat ...

  4. JS实现Ajax---例:获取服务器时间

    Ajax在本质上是一个浏览器端的技术 XMLHttpRequest XMLHttpRequest对象 XMLHttpRequest对象在IE浏览器和非IE浏览器中创建的方法不同. 简而言之:它可以异步 ...

  5. JS获取服务器时间并且计算距离当前指定时间差的函数

    项目中遇到了从服务器获取时间,现在记录一下方便以后查询: 1.后台代码:(创建一个date对象并以JSON的形式返回去) // 获取服务器时间 public String getNowServerTi ...

  6. 小程序 js中获取时间new date()的用法(网络复制过来自用)

    js中获取时间new date()的用法   获取时间: 1 var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获 ...

  7. Js中获取时间 new date()的用法

    Js中获取时间 new date()的用法 获取时间: var myDate = new Date();//获取系统当前时间 myDate.getYear(); //获取当前年份(2位) myDate ...

  8. js中获得当前时间是年份和月份

    js中获得当前时间是年份和月份,形如:201208       //获取完整的日期 var date=new Date; var year=date.getFullYear();  var month ...

  9. js中如何对时间进行设置

    js中如何对时间进行设置 Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getF ...

随机推荐

  1. HanLP-命名实体识别总结

    人名识别 在HanLP中,基于角色标注识别了中国人名.首先系统利用隐马尔可夫模型标注每个词语的角色,之后利用最大模式匹配法对角色序列进行匹配,匹配上模式的即为人名.理论指导文章为:<基于角色标注 ...

  2. 转载:同一台电脑教你配置多个Tomcat的环境变量

    装两个tomcat 分别是6.0和7.0 可想运行tomcat6.0 但是实际上却运行tomcat7.0 两个版本都是用解压缩包 其实就是不能运行tomcat6.0 只能运行7.0 两个环境变量都配置 ...

  3. 记录一次hadoop2.8.4版本RM接入zk ha问题

    背景: 公司将线上hadoop RM接入ZK 实现高可用 但ZK Znode 默认存储1M,当存储数据量大时候可能导致线上业务的崩溃 处理方案如下: 1,修改ZK配置 增加默认存储上限 2,修改RM数 ...

  4. python学习-3 python基础-1基础知识和解释器

    1.基础知识 ~后缀名是可以是任意的 ~导入模块时,如果不是.py就会报错 =>>所以尽量后缀名携程.py 2.执行方式 -python解释器 3.   #!/usr/bin/env py ...

  5. Go-常识补充-切片-map(类似字典)-字符串-指针-结构体

    目录 Go 常识补充 Go 命名 打印变量类型科普 _ 关键字 命名规范相关 包目录规范 切片 多维切片 切片初始化的方法 多维切片初始化 切片删除元素(会略微影响效率 ,少用) copy 函数 打散 ...

  6. jsp页面报错,各种错误码意思

    基本原则: 2xx = Success(成功) 3xx = Redirect(重定向) 4xx = User error(客户端错误) 5xx = Server error(服务器端错误) 状态码 ( ...

  7. Spring Boot:上传文件大小超限制如何捕获 MaxUploadSizeExceededException 异常

    Spring Boot 默认上传文件大小限制是 1MB,默认单次请求大小是 10MB,超出大小会跑出 MaxUploadSizeExceededException 异常 spring.servlet. ...

  8. k8s-prometheus 数据采集(node redis kubelet等)

    apiVersion: v1 kind: ConfigMap metadata: name: prometheus-config namespace: kube-ops data: prometheu ...

  9. Linux 系统的安全加固

    Linux是一套免费使用和自由传播的类Unix操作系统,作为一个开放源代码的操作系统,Linux服务器以其安全.高效和稳定的显著优势而得以广泛应用,但如果不做好权限的合理分配,Linux系统的安全性还 ...

  10. html5手机网页开发,中文输入法下软键盘遮挡输入框

    安卓手机解决办法 微信UI框架weui中给出了解决方法:weui框架http://weui.github.io/weui/example.js // .container 设置了 overflow 属 ...