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

    xiaoxiao2024-04-19  8

    今天遇到一个需求,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( ); //获取日期与时间
    转载请注明原文地址: https://ju.6miu.com/read-1288139.html
    最新回复(0)