用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如何获取服务器端时间?相关推荐

  1. js获取应用服务器时间,JavaScript获取服务器端时间的方法

    用js做时间校正,获取本机时间,是存在bug的. 使用js也可获取到服务器时间,原理是使用 ajax请求,返回的头部信息就含有服务器端的时间信息,获取到就可以了.以下: 1.依赖jQuery 代码: ...

  2. Js实现获取当前时间并显示

    js可以通过Date对象获取当前日期和时间,使用Date()获取系统当前时间,在使用getFullYear().getMonth().getDate() .getHours()等方法获取特定格式的时间 ...

  3. (js时间转换)北京时间转年月日--moment.js,获取当前时间

    1.moment.js的使用,北京时间UTC转化正常年月日– ```javascript // 时间格式化formatTime() {var moment = require("moment ...

  4. JS快速获取当前时间减一小时、一天及日期格式处理

    背景 今天在做项目的时候用到了element-ui的DateTimePicker组件,官方给的例子中是传入固定参数从而确定默认时间,而我们项目的需求希望默认以(当前时间前一小时-当前时间)为默认值,并 ...

  5. js 如何获取服务器端的 sessionID

    参考一: function getSessionId(){             var c_name = 'JSESSIONID';             if(document.cookie. ...

  6. 【JS】获取当前时间,且格式为yyyy-MM-dd hh:mm:ss

    我们在前端获取当前时间: var nowDate = new Date(); 时间格式为: Sun May 27 2018 19:28:09 GMT+0800 (中国标准时间) 但是我们想在页面上显示 ...

  7. js如何获取当前时间 并格式化

    先添加格式化的方法: Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月 ...

  8. JS动态获取当前时间

    HTML部分: <div class="div"><div id="div"></div></div> CSS样 ...

  9. 在js里面获取当前时间的前六个月

    var time = new Date();time.setTime(time.getTime());var s2 = time.getFullYear()+"-" + (time ...

最新文章

  1. Oracle数据库日期范围查询的两种实现方式
  2. Matlab Robotic Toolbox V9.10工具箱(七):Stanford arm 动力学建模与仿真
  3. Flutter:删除所有已保存的shared_preferences首选项
  4. Linux 命令find、grep
  5. USACO SEC.1.3 No.1 Mixing Milk
  6. Android中文API(136) —— Bitmap
  7. 停在Z的危险:用苏斯博士的话,为什么孩子应该编码
  8. 学习进度(2016.5.1)
  9. 利用java.io.File类实现遍历本地磁盘上指定盘符或文件夹的所有的文件
  10. kubernetes系列11—PV和PVC详解
  11. Docker学习总结(8)——利用Docker开启持续交付之路
  12. 广数25i系统倒刀回刀m代码_广数系统指令
  13. Linux网络编程|UDP编程实例
  14. 暴风激活工具,劫持Chrome浏览器主页
  15. 用计算机编程解决土方调配,LINGO在土方调配计算问题应用.doc
  16. iOS开发笔记1:ToDoList、相册、地图应用及新浪微博
  17. 谈谈百度直达号的服务价值
  18. Storage of multidimensional arrays based on arbitrary tiling
  19. 绿米Aqara、智汀、Homekit等设备如何完成一键跨品牌联动
  20. 人大金仓 创建表空间_Kingbase金仓更改表空间

热门文章

  1. Android设置toolbar高度,Android基础知识之 Toolbar 的使用
  2. union的作用 c语言,C语言(union类型及应用)
  3. 计算机系统组成_网络教育统考计算机应用基础题库(计算机系统的组成2)
  4. obs多推流地址_(无人直播)教程利用OBS推流抖音直播电脑屏幕或PC游戏
  5. 【技术解决方案】音视频同步策略分析并计算出当前音频播放的pts
  6. python快速排序算法循环_算法:快速排序的Python实现
  7. 浅析五种C语言内存分配的方法及区别
  8. C语言精髓篇|函数的参数和返回值
  9. 每日干货丨C语言知识总结----循环结构
  10. 新手学C语言会踩到什么样的坑?