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

用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获取服务器端时间的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
jsp页面获取服务器时间的简单调用示例
Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day= c.get(Calendar.DAY); 这三行加在<% %>里面 调用时用<%= year %><%= month%><%= day%>
-
JavaScript获取服务器时间的方法详解
本文实例讲述了JavaScript获取服务器时间的方法.分享给大家供大家参考,具体如下: Javascript是运行在客户端的脚本,我们一般都用new Date()来获取当前时间,但是得到的是客户端的时间,客户端时间是随意更改的,如果要做一个产品发布倒计时的话,客户端时间一改,就要闹笑话了.业务中需要用到服务器时间的场景还有很多,那么仅仅通过js怎么拿到服务器时间呢?事实上,只需要一个ajax请求就搞定,通过读取XMLHttpRequest对象的响应头里面的时间戳得到当前服务器时间! 原理就是这
-
JSP获取服务器时间以倒计时的形式在页面显示
复制代码 代码如下: <%@ page language="java" import="java.util.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <%@ include fi
-
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
现在有很多网站都在做秒杀商品,而这其中有一个很重要的环节就是倒计时. 关于倒计时,有下面几点需要注意: 1.应该使用服务器时间而不是本地时间(本地时间存在时区不同.用户自行设置等问题). 2.要考虑网络传输的耗时. 3.获取时间时可直接从AJAX的响应头中读取(通过getResponseHeader('Date')来获得),服务器端不需要专门写时间生成脚本. 过程分析: 1.从服务器读到一个时间戳之后便开始计时,不考虑网络传输的耗时: 图中的各项标注分别是(上面的时间线采用标准时间,与服务器和页
-
javascript同步服务器时间和同步倒计时小技巧
之前在网上看到有人提问,如何在页面上同步显示服务器的时间,其实实现方法有几种,可能 一般人立马就想到可以使用Ajax每隔一秒去请求服务器,然后将服务器获取到时间显示在页面上,这样虽然能够实现,但存在一个很大的问题,那就是每隔一秒 去请求服务器,这样如果用户多了,服务器就会崩溃(内存占用率会很大),所以在我看来,这种方法不可行,我这里给出一种解决方案,能够实现同步服务器时间.同步倒计时,却不占用服务器太多资源,下面我给写实现的思路: 第一步,当用户第一次浏览页面时,服务器首先获取当前时间并显示在页
-
javascript实现获取服务器时间
JS是在客户端运行的脚本,而不是运行在服务器上,通常来说,通过JS获取时间的时候获取到的时间是访客本地电脑上的时间,为了让网页上的时间不因访客电脑差异而不同,我们有必要直接JS获取服务器时间. 下面是完整的js获取服务器时间代码,是使用javascript获取服务器时间的完整实例,js动态刷新服务器时间. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content=
-
js友好的时间返回函数
本文实例为大家分享了js显示友好时间的函数代码,供大家参考,具体内容如下 //友好的时间返回函数(如:10分钟前)time_stamp为UNIX秒数 function friendly_time(time_stamp) { var now_d = new Date(); var now_time = now_d.getTime() / 1000; //获取当前时间的秒数 var f_d = new Date(); f_d.setTime(time_stamp * 1000); var f_tim
-
利用js获取服务器时间的两个简单方法
有时用js来获取服务器时间.一般会用System.DateTime 方法如下: 复制代码 代码如下: <script language="javascript"> var a = new Date() a = <%=System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")%>; Response.Write(a) </script> 其实还有一个方法:利用javascript的&quo
-
js实现倒计时及时间对象
JS实现倒计时效果代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title>h <style> #box { width: 100%; height: 400px; background: black; color: #fff; font-size:40px; line-height:400px; tex
-
js获取当前时间(昨天、今天、明天)
本文实例为大家分享了js获取当前时间的具体代码,供大家参考,具体内容如下 js获取当前时间(昨天.今天.明天) 开发过程中某些前台页面的时间控件我们需要给默认当前时间,jquery可以轻松的帮我们实现,代码如下 //昨天的时间 var day1 = new Date(); day1.setTime(day1.getTime()-24*60*60*1000); var s1 = day1.getFullYear()+"-" + (day1.getMonth()+1) + "-&
随机推荐
- 栈和队列数据结构的基本概念及其相关的Python实现
- PHP随机生成信用卡卡号的方法
- js 调整select 位置的函数
- PHP生成随机字符串(3种方法)
- Python常用正则表达式符号浅析
- 浅析php学习的路线图
- Javascript异步编程模型Promise模式详细介绍
- 属于你的jQuery提示框(Tip)插件
- PHP APC配置文件2套和参数详解
- Android 跨进程通Messenger(简单易懂)
- PHP中auto_prepend_file与auto_append_file用法实例分析
- MS SQL Server获取十二个月份的英文缩写
- Javascript同时声明一连串(多个)变量的方法
- C++中实现队列类链式存储与栈类链式存储的代码示例
- 微信小程序使用radio显示单选项功能【附源码下载】
- nodejs异步编程基础之回调函数用法分析
- 利用PyQt中的QThread类实现多线程
- IntelliJ IDEA 2019.1.1 for MAC 下载和注册码激活教程图解
- linux搭建NFS文件共享服务器的步骤详解
- 30行Python代码实现高分辨率图像导航的方法
其他
- uniapp自定义底部导航栏
- 获取django medel对象里的字段
- Java银行管理系统下载
- 直线生成bresenham算法
- vue中input绑定时输入怎么避免外面的数据跟着变
- element表格宽度自适应设置最大宽度
- python opencv 标定 畸变
- 在mac上怎么卸载node.js
- java微信服务器安全模式
- js怎么判断12321,24542这类对称的数字
- java业务逻辑错误抛出自定义异常
- jmeter如何实现跨线程组获取cookie
- python列表套列表变成字典
- python append list内存
- android 暗黑模式指定页面
- 微信小程序实现滚动条
- inputStream 获取contentType
- react hooks setState 局部刷新界面
- 小程序 web-view 获取history栈
- android 开红包效果实现 自定义控件