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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/351761.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 堆转储快照_Java堆转储:您可以完成任务吗?

java 堆转储快照如果您像我一样对Java性能充满热情,那么堆转储分析对您来说应该不是一个谜。 如果是这样,那么好消息是您将有机会增加您的Java故障排除技能和JVM知识。 JVM现在已经发展到这样的程度:与旧的JDK 1.0 – JDK 1.4天相比&#xf…

电池供电的电容麦_太阳能航空障碍灯供电机制设计

南京徐航航空设备有限公司是以产销GPS航空障碍灯,led航空障碍灯,LED智能航空障碍灯,交流航空障碍灯,航空障碍灯品牌,智能型航空障碍灯,GPS航空障碍灯,led航空障碍灯,LED智能航空障碍灯,交流航空障碍灯,航空障碍灯品牌,智能型航空障碍灯等方面产品获得民航认证航空障碍灯品牌,是…

simulink如何从goto模块快速找到相应的from模块

有时候,Simulink搭建的模型中模块过多,很难找到goto模块所对应的from模块。下面将举例说明如何从goto模块快速找到相应的from模块。 方法1 双击goto模块会弹出下图图框,点击图框的链接即可找到对应的from模块。如下图所示。 对应的from模块…

aac fhg lc哪一个模式_旅游没电别发愁,一个充电头,助你游遍全球

我朋友汪伦。最近在计划出国旅游,我问他都准备了啥,他说根据网上的攻略,带了现金泡面老干妈还有一万个充电宝。现金我懂,国外还没普及扫码支付;泡面是怕外国菜吃不惯;老干妈是夹汉堡吃的;一万个…

11 字节码执行

转载于:https://www.cnblogs.com/likevin/p/10183151.html

在Junit上使用Kafka

除了在原始Kafka Producer和Consumer上更易于使用的抽象之外,优秀的Spring Kafka项目提供的简洁功能之一是在测试中使用Kafka的方法。 它通过提供可轻松设置和拆卸的Kafka嵌入式版本来实现此目的。 一个项目需要包括此支持的全部就是“ spring-kafka-test”模块&am…

补码原理一个字节存储数值的范围如何计算

为什么二进制负数在计算机中的存储需要使用补码?一个字节存储数值范围为什么是-128~127?下面我们开始学习。 1.了解补码 什么是原码、反码和补码?负数在计算机中的二进制表示是怎样的?(戳这里查看) 2.补…

laravel API开发,使用dingo/api

1、composer添加 "dingo/api": "1.0.*dev" composer require dingo/api:1.0.xdev2、配置文件app.php添加注册 Dingo\Api\Provider\LaravelServiceProvider::class,3、添加自定义配置(此时会在配置文件中生成api.php) php artisan ve…

【SVN】代码提交备注规范

一、格式 <type>: <subject> 例如 fix&#xff1a;解决用户点击登录无响应的问题 二、详细说明 1、type &#xff1a;用于说明提交类型 feat - 增加新功能、新需求 fix - 修复bug, 可以是测试发现的bug, 也可以是研发自己发现的bug style - 不影响…

StarUML使用说明-指导手册

StarUML使用说明-指导手册 原著&#xff1a;Stephen Wong 翻译&#xff1a;火猴 1.综述 StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具。这是一个用Java语言描述的创建类图的简明手册。 StarUML(简称SU)&#xff0c;是一种创建UML类图&#x…

elif else if oracle_关于Oracle if elsif else

昨天被一同事问一问题&#xff0c;问题就是Oracle存储过程中的IF逻辑块告诉他大概是这样&#xff1a;create or replace procedure testIfElsif (numb number) ISbeginif numb 1 thenDBMS_OUTPUT.put_line(1);else if numb 2 thenDBMS_OUTPUT.put_line(2);elseDBMS_OUTPUT.pu…

自相关函数互相关函数

这个是信号分析里边的概念。为比较某信号与另一延时的信号之间的相似度&#xff0c;需要引入相关函数的概念。相关函数是鉴别信号的有力工具&#xff0c;被广泛应用于雷达回波的识别&#xff0c;通信同步信号的识别等领域。相关函数 也称为相关积分&#xff0c;它与卷积的运算方…

php 加密解密函数封装

算法一&#xff1a;  //加密函数 function lock_url($txt,$keyyang) {$chars "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-";$nh rand(0,64);$ch $chars[$nh];$mdKey md5($key.$ch);$mdKey substr($mdKey,$nh%8, $nh%87);$txt base64_e…

visio画uml类图添加自定义数据类型

类图&#xff08;Class Diagram&#xff09;: 类图是面向对象系统建模中最常用和最重要的图&#xff0c;是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。 类图的3个基本组件&#xff1a;类名、属性、方法。 1、打开vis…

ansys怎么删除线段_科学网—ansys常用命令 - 刘敬寿的博文

prep7/pnum,label,key!在有限元模块图形中显示号码。Label&#xff1d;欲显示对象的名称&#xff0c;node节点&#xff0c;elem元素&#xff0c;kp点&#xff0c;line线&#xff0c;area面积&#xff0c;volu体积&#xff1b;key0为不显示号码(系统默认)&#xff0c;&#xff1…

nginx内存池大小快内存_使用直接内存时可以更快

nginx内存池大小快内存总览 使用直接内存不能保证提高性能。 考虑到它增加了复杂性&#xff0c;除非有充分的理由使用它&#xff0c;否则应避免使用它。 塞尔吉奥奥利维拉&#xff08;Sergio Oliveira Jr&#xff09;的这篇出色文章表明&#xff0c;这不仅仅是使用直接内存来…

Matlab归一化函数(mapminmax)

功能&#xff1a;将矩阵的每一行处理成[-1,1]区间。处理需要归一化的m*n矩阵X&#xff0c;归一化后的矩阵记为Y。 主要有5种调用形式 1.[Y,PS] mapminmax(X,YMIN,YMAX) 其中&#xff0c;YMIN是我们期望归一化后矩阵Y每行的最小值&#xff0c;YMAX是我们期望归一化后矩阵Y每…

ansible puppet saltstack三款自动化运维工具的对比

一、基础介绍 ansible基础介绍可参考&#xff1a;http://www.linuxidc.com/Linux/2017-12/149671.htm puppet基础介绍可参考&#xff1a;http://www.linuxidc.com/Linux/2017-12/149672.htm saltstack基础介绍可参考&#xff1a;http://www.linuxidc.com/Linux/2017-12/149675.…

Matlab repmat函数

repmat函数主要是以已知的数、向量或矩阵为基本元素&#xff0c;快速得产生一个大的矩阵&#xff0c;它的用法一般有下面几种&#xff1a; 1.使用相同元素初始化矩阵 A repmat(6,3,2) A 6 6 6 6 6 6 2.方块与矩形块格式 A diag([1 2 3]) b repm…

Linux虚拟地址空间布局

在多任务操作系统中&#xff0c;每个进程都运行在属于自己的内存沙盘中。这个沙盘就是虚拟地址空间(Virtual Address Space)&#xff0c;在32位模式下它是一个4GB的内存地址块。在Linux系统中, 内核进程和用户进程所占的虚拟内存比例是1:3&#xff0c;而Windows系统为2:2(通过设…