JavaScript获取服务器端时间的方法


Posted in Javascript onNovember 29, 2016

用js做时间校正,获取本机时间,是存在bug的。

使用js也可获取到服务器时间,原理是使用 ajax请求,返回的头部信息就含有服务器端的时间信息,获取到就可以了。以下:

1、依赖jQuery

代码:

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

以上函数返回的就是一个Date对象,注意在使用ajax时必须同步,要不然无法返回时间日期。

无需填写请求链接;

如果服务器时间和本地时间有时差,需要做校正。

2、原生

代码:

function getServerDate(){
var xhr = null;
if(window.XMLHttpRequest){
xhr = new window.XMLHttpRequest();
}else{ // ie
xhr = new ActiveObject("Microsoft")
}
xhr.open("GET","/",false)//false不可变
xhr.send(null);
var date = xhr.getResponseHeader("Date");
return new Date(date);
}

同样返回的是一个Date对象,xhr.open()必须使用同步;

无需填写请求链接;open,send,和getResponseHeader 必须按序编写。

如需使用异步请求,可监听onreadystatechange状态来做不同的操作。

代码如下:

function getServerDate(){
var xhr = null;
if(window.XMLHttpRequest){
xhr = new window.XMLHttpRequest();
}else{ // ie
xhr = new ActiveObject("Microsoft")
}
xhr.open("GET","/",true);
xhr.send(null);
xhr.onreadystatechange=function(){
var time,date;
if(xhr.readyState == 2){
time = xhr.getResponseHeader("Date");
date = new Date(time);
console.log(date);
}
}
}

使用异步不是很方便返回时间。

这里的readyState有四种状态,方便做不同处理:

0: 请求未初始化

1: 服务器连接已建立

2: 请求已接收

3: 请求处理中

4: 请求已完成,且响应已就绪

失败状态,status的值:

200: "OK"

404: 未找到页面

以上所述是小编给大家介绍的JavaScript获取服务器端时间的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript去掉数组中的重复元素
Jan 13 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
Apr 03 Javascript
js面向对象之公有、私有、静态属性和方法详解
Apr 17 Javascript
jQuery实现类似淘宝网图片放大效果的方法
Jul 08 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
Sep 16 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
Dec 17 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
Feb 17 Javascript
Angular1.x自定义指令实例详解
Mar 01 Javascript
如何以Angular的姿势打开Font-Awesome详解
Apr 22 Javascript
详解ES6 Fetch API HTTP请求实用指南
Nov 14 Javascript
ES6基础之字符串和函数的拓展详解
Aug 22 Javascript
如何构建一个Vue插件并生成npm包
Oct 26 Javascript
微信小程序链接传参并跳转新页面
Nov 29 #Javascript
JavaScript中Array对象用法实例总结
Nov 29 #Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
Nov 29 #Javascript
JavaScript构建自己的对象示例
Nov 29 #Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
Nov 29 #Javascript
jQuery获取this当前对象子元素对象的方法
Nov 29 #Javascript
JavaScript中return用法示例
Nov 29 #Javascript
You might like
php中用文本文件做数据库的实现方法
2008/03/27 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
php常用文件操作函数汇总
2014/11/22 PHP
php使用ereg验证文件上传的方法
2014/12/16 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
node的process以及child_process模块学习笔记
2018/03/06 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
9102年webpack4搭建vue项目的方法步骤
2019/02/20 Javascript
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
对于Python的Django框架使用的一些实用建议
2015/04/03 Python
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
flask框架路由常用定义方式总结
2019/07/23 Python
python Pillow图像处理方法汇总
2019/10/16 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
python通过对字典的排序,对json字段进行排序的实例
2020/02/27 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
优秀企业获奖感言
2014/02/01 职场文书
员工生日会策划方案
2014/06/14 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
钱学森电影观后感
2015/06/04 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书
Django 如何实现文件上传下载
2021/04/08 Python