• Javascript获取服务器时间


    js获取当前时间戳的方法-JavaScript 获取当前毫秒时间戳有以下三种方法:

    var timestamp =Date.parse(new Date());    结果:1280977330000       //不推荐; 毫秒改成了000显示

    var timestamp =(new Date()).valueOf();       结果:1280977330748       //推荐; 

    var timestamp=new Date().getTime();         结果:1280977330748        //推荐; 

    注意 在js中这三种方法获取到的是客户端的时间

    获取服务器时间:

    Javascript是运行在客户端的脚本,我们一般都用new Date()来获取当前时间,但是得到的是客户端的时间,客户端时间是随意更改的,如果要做一个产品发布倒计时的话,客户端时间一改,就要闹笑话了。业务中需要用到服务器时间的场景还有很多,那么仅仅通过js怎么拿到服务器时间呢?事实上,只需要一个ajax请求就搞定,通过读取XMLHttpRequest对象的响应头里面的时间戳得到当前服务器时间

    通过ajax向服务器发送请求,当服务器收到请求后即可读取响应头的时间戳了,不管请求成功或失败,都可以拿到时间戳。怎么判断服务器收到请求了呢?当ajax请求发送之后,XMLHttpRequest有5中状态变化:

    XMLHttpRequest.readyState值 表示的意思
    0 未初始化,已经创建一个XMLHttpRequest对象,但是还没有初始化
    1 未发送,代码已经调用了xmlhttprequest open()方法并且xmlhttprequest已经准备好把一个请求发送到服务器
    2 已发送,已经通过send()方法把一个请求发送到服务器端,但是还没有收到一个响应,可以读取响应头信息了
    3 正在接收,已经接收到http响应头部信息,但是消息体部分还没有完全接收完毕
    4 已加载,响应已经被完全接收

    当XMLHttpRequest.readyState值为2时就可以读取响应头拿到我们要的时间戳了。代码如下:

    <p id="time"></p>
    <script>
    ajax()
    function ajax(option){
    var xhr = null;
    if(window.XMLHttpRequest){
    xhr = new window.XMLHttpRequest();
    }else{ // ie
    xhr = new ActiveObject("Microsoft")
    }
    // 通过get的方式请求当前文件
    xhr.open("get","/");
    xhr.send(null);
    // 监听请求状态变化
    xhr.onreadystatechange = function(){
    var time = null,
    curDate = null;
    if(xhr.readyState===2){
    // 获取响应头里的时间戳
    time = xhr.getResponseHeader("Date");
    console.log(xhr.getAllResponseHeaders())
    curDate = new Date(time);
    document.getElementById("time").innerHTML = "服务器时间是:"+curDate.getFullYear()+"-"+(curDate.getMonth()+1)+"-"+curDate.getDate()+" "+curDate.getHours()+":"+curDate.getMinutes()+":"+curDate.getSeconds();
    }
    }
    }
    </script>

    转载:http://www.cnblogs.com/wangmeijian/p/4442830.html

  • 相关阅读:
    mvn常用命令
    maven pom.xml解释 (转)
    hibernate的主键生成策略
    软件绿色版和安装版的区别
    spring事务
    JdbcTemplate操作数据库
    控制反转和spring在项目中可以带来的好处
    三种实例化bean的方式
    UVA 1262 Password 暴力枚举
    CSDN2015博客之星评选之拉票环节
  • 原文地址:https://www.cnblogs.com/monogo/p/7338332.html
Copyright © 2020-2023  润新知