JS判断当前网络时间是否在某个时间段

今天遇到一个需求,8~24点才能进行某一审核操作,于是就想在前端做一个当前网络时间的校验功能,代码如下:

    /**
     * 判断当前网络时间是否在 8~24点时间段
     */
    function checkAuditTime(){
        var nowDate=getServerTime();
        var beginDate=new Date(nowDate);
        var endDate=new Date(nowDate);
        beginDate.setHours(8, 0, 0, 0);
        endDate.setHours(24, 0, 0, 0);
        if(nowDate.getTime()-beginDate.getTime()>=0 && nowDate.getTime() <= endDate.getTime()){
            return true;    
        }else{
            return false;
        }
    }

    /**
     *  发送请求到服务器,从响应头里的时间戳,获取当前网络时间
     * @returns {Date}
     */
    function getServerTime(){  
        var xmlHttp = false;  
        try {  
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");  
        } catch (e) {  
            try {  
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  
            } catch (e2) {  
                xmlHttp = false;  
            }  
        }  

        if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {  
            xmlHttp = new XMLHttpRequest();  
        }  

        xmlHttp.open("GET", window.location.href.toString(), false);  
        xmlHttp.setRequestHeader("If-None-Match", "bytes=-1");  
        xmlHttp.setRequestHeader("Cache-Control","no-cache");  
        xmlHttp.send(null); //发送get请求 

        return new Date(xmlHttp.getResponseHeader("Date"));//从响应头中获取当前网络时间  
    }  

beginDate.setHours(8, 0, 0, 0);//设置当前日期8点整
endDate.setHours(24, 0, 0, 0);//设置当前日期24点整
这两个代码是精髓,太nice了!!

另外介绍下js的Date类的常用方法:

var myDate = new Date();

myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值