js如何获取服务器端时间?
用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{ // iexhr = 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{ // iexhr = 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: 未找到页面
转自:http://www.cnblogs.com/hellobook/p/6112182.html
另外,如果服务器时间较对可以用:http://bjtime.cn/nt.asp
转载于:https://www.cnblogs.com/7qin/p/10188020.html
js如何获取服务器端时间?相关推荐
- js获取应用服务器时间,JavaScript获取服务器端时间的方法
用js做时间校正,获取本机时间,是存在bug的. 使用js也可获取到服务器时间,原理是使用 ajax请求,返回的头部信息就含有服务器端的时间信息,获取到就可以了.以下: 1.依赖jQuery 代码: ...
- Js实现获取当前时间并显示
js可以通过Date对象获取当前日期和时间,使用Date()获取系统当前时间,在使用getFullYear().getMonth().getDate() .getHours()等方法获取特定格式的时间 ...
- (js时间转换)北京时间转年月日--moment.js,获取当前时间
1.moment.js的使用,北京时间UTC转化正常年月日– ```javascript // 时间格式化formatTime() {var moment = require("moment ...
- JS快速获取当前时间减一小时、一天及日期格式处理
背景 今天在做项目的时候用到了element-ui的DateTimePicker组件,官方给的例子中是传入固定参数从而确定默认时间,而我们项目的需求希望默认以(当前时间前一小时-当前时间)为默认值,并 ...
- js 如何获取服务器端的 sessionID
参考一: function getSessionId(){ var c_name = 'JSESSIONID'; if(document.cookie. ...
- 【JS】获取当前时间,且格式为yyyy-MM-dd hh:mm:ss
我们在前端获取当前时间: var nowDate = new Date(); 时间格式为: Sun May 27 2018 19:28:09 GMT+0800 (中国标准时间) 但是我们想在页面上显示 ...
- js如何获取当前时间 并格式化
先添加格式化的方法: Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月 ...
- JS动态获取当前时间
HTML部分: <div class="div"><div id="div"></div></div> CSS样 ...
- 在js里面获取当前时间的前六个月
var time = new Date();time.setTime(time.getTime());var s2 = time.getFullYear()+"-" + (time ...
最新文章
- Oracle数据库日期范围查询的两种实现方式
- Matlab Robotic Toolbox V9.10工具箱(七):Stanford arm 动力学建模与仿真
- Flutter:删除所有已保存的shared_preferences首选项
- Linux 命令find、grep
- USACO SEC.1.3 No.1 Mixing Milk
- Android中文API(136) —— Bitmap
- 停在Z的危险:用苏斯博士的话,为什么孩子应该编码
- 学习进度(2016.5.1)
- 利用java.io.File类实现遍历本地磁盘上指定盘符或文件夹的所有的文件
- kubernetes系列11—PV和PVC详解
- Docker学习总结(8)——利用Docker开启持续交付之路
- 广数25i系统倒刀回刀m代码_广数系统指令
- Linux网络编程|UDP编程实例
- 暴风激活工具,劫持Chrome浏览器主页
- 用计算机编程解决土方调配,LINGO在土方调配计算问题应用.doc
- iOS开发笔记1:ToDoList、相册、地图应用及新浪微博
- 谈谈百度直达号的服务价值
- Storage of multidimensional arrays based on arbitrary tiling
- 绿米Aqara、智汀、Homekit等设备如何完成一键跨品牌联动
- 人大金仓 创建表空间_Kingbase金仓更改表空间
热门文章
- Android设置toolbar高度,Android基础知识之 Toolbar 的使用
- union的作用 c语言,C语言(union类型及应用)
- 计算机系统组成_网络教育统考计算机应用基础题库(计算机系统的组成2)
- obs多推流地址_(无人直播)教程利用OBS推流抖音直播电脑屏幕或PC游戏
- 【技术解决方案】音视频同步策略分析并计算出当前音频播放的pts
- python快速排序算法循环_算法:快速排序的Python实现
- 浅析五种C语言内存分配的方法及区别
- C语言精髓篇|函数的参数和返回值
- 每日干货丨C语言知识总结----循环结构
- 新手学C语言会踩到什么样的坑?