JS 中获取服务器时间的注意点
在通过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 中获取服务器时间的注意点的更多相关文章
- js中获取当前时间
var d = new Date();var date = d.getFullYear() + "年" +(d.getMonth() + 1) + "月" + ...
- HTML 中获取现在时间,实时时间获取
JavaScript Date 对象 Date 对象用于处理日期与实际. 创建 Date 对象: var now = new Date(). 方法 描述 getDate() 从 Date 对象 ...
- JS中new Date()用法及获取服务器时间
1.获取服务器时间: var now = new Date($.ajax({async: false}).getResponseHeader("Date")); 2.new Dat ...
- JS实现Ajax---例:获取服务器时间
Ajax在本质上是一个浏览器端的技术 XMLHttpRequest XMLHttpRequest对象 XMLHttpRequest对象在IE浏览器和非IE浏览器中创建的方法不同. 简而言之:它可以异步 ...
- JS获取服务器时间并且计算距离当前指定时间差的函数
项目中遇到了从服务器获取时间,现在记录一下方便以后查询: 1.后台代码:(创建一个date对象并以JSON的形式返回去) // 获取服务器时间 public String getNowServerTi ...
- 小程序 js中获取时间new date()的用法(网络复制过来自用)
js中获取时间new date()的用法 获取时间: 1 var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获 ...
- Js中获取时间 new date()的用法
Js中获取时间 new date()的用法 获取时间: var myDate = new Date();//获取系统当前时间 myDate.getYear(); //获取当前年份(2位) myDate ...
- js中获得当前时间是年份和月份
js中获得当前时间是年份和月份,形如:201208 //获取完整的日期 var date=new Date; var year=date.getFullYear(); var month ...
- js中如何对时间进行设置
js中如何对时间进行设置 Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getF ...
随机推荐
- nginx文件服务器搭建
一.安装 (CentOS 7) yum install nginx -y 如果报错: [u3@L3 /]$ sudo yum install nginx -y Loaded plugins: fast ...
- springboot+JPA 整合redis
1.导入redis依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifact ...
- Python基础(十一)--内置函数
内置函数 数学类 abs():绝对值 round():四舍五入 >>> round(1.3747,1) 1.4 sum():求和 >>> sum({1:'dj',2 ...
- Python爬取猫眼电影排行
import requests import pyquery def crawl_page(url: str) -> None: headers = { 'user-agent': 'Mozil ...
- tomcat 发布的web项目不在webapps目录下
双击服务器(如果服务器再启动,请停止并删除里面的项目,再clean一下), server location 选择use tomcat installation: deploy path 改为webap ...
- MyBatis学习存档(3)——mapper.xml映射文件
MyBatis 真正的强大在于映射语句,专注于SQL,功能强大,SQL映射的配置却是相当简单 所以我们来看看映射文件的具体结构 一.xml节点结构 mapper为根节点 - namespace命名空间 ...
- T100——汇总错误消息显示
初始化 CALL cl_err_collect_init() 汇总消息显示 CALL cl_err_collect_show()
- 如何给Swagger加注释
在Startup.cs文件中的ConfigureServices()方法中添加如下代码即可 services.AddSwaggerGen(options => { options.Swagger ...
- arcgis 服务网页打开需要输入用户名和密码问题解决
解决方法: 在站点manager中,检查服务的安全性,确认是否是公共.如果不是,设置为公共,面向任何人:如果服务已经被设置为面向公共,那么先设置为私有,面向所选用户,然后再设置为公共,面向任何人 如果 ...
- python计算出现错误
用python计算39.8-0.1得出的结果是39.699999999999996 其他数字计算正确,唯独这个计算错误. 原因: 中文解释: https://docs.python.org/zh-cn ...