内置转换date方法以及判断当前时间和失效时间比较

Object.assign(Date.prototype, {
    switch(time) {
        let date = {
            "yy": this.getFullYear(),
            // 这里月份的key采用大写,为了区别分钟的key
            "MM": this.getMonth() + 1,
            "dd": this.getDate(),
            "hh": this.getHours(),
            "mm": this.getMinutes(),
            "ss": this.getSeconds()
        };
        //输出年 y+:匹配1个到多个y,i:忽略大小写
        if (/(y+)/i.test(time)) {
            time = time.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
        }
        //输出月、日、时、分、秒
        Object.keys(date).forEach(function (i) {
            //  "(" + i + ")"的结果是字符串"(i+)",
            // 只有写成"(" + i + ")"形式,才能在正则表达式中捕获子匹配,进而才能用到RegExp.$1的值
            if (new RegExp("(" + i + ")").test(time)) {
                // 判断,如果时间为一位数,则在前面加'0' 
                // ps:这里有一个小知识点:number类型+string类型 = string类型
                if (RegExp.$1.length == 2) {
                    date[i] < 10 ? date[i] = '0' + date[i] : date[i];
                }
                //替换初始化函数时候传入yyyy-mm-dd hh:mm:ss(这里可以打印出time、RegExp.$1、date[k])
                time = time.replace(RegExp.$1, date[i]);
            }
        })
        return time;
    }
})
function isDateExpired() {
    //后端返回时间
    var date = JSON.parse(localStorage.getItem("photoPicker"))
    var beginTime = date.dateExpired
    //当前
    let now = new Date();
    // now.switch()传参的大小写要和方法内定义的key匹配
    nowTime = now.switch('yyyy-MM-dd hh:mm:ss')
    var beginTimes = beginTime.substring(0, 10).split('-');
    var endTimes = nowTime.substring(0, 10).split('-');
    beginTime = beginTimes[1] + '-' + beginTimes[2] + '-' + beginTimes[0] + ' ' + beginTime.substring(10, 19);
    nowTime = endTimes[1] + '-' + endTimes[2] + '-' + endTimes[0] + ' ' + nowTime.substring(10, 19);
    var a = (Date.parse(beginTime) - Date.parse(nowTime)) / 3600 / 1000;
    console.log(Date.parse(nowTime), Date.parse(beginTime));
    console.log("剩余时间为" + a);
    var flag = a<=0;
    if(flag){
        SinglebtnPopup("链接已失效请重新打开页面", "确定", function (result) {
            CloseBrowser()
        })
    }

    return flag;
}

猜你喜欢

转载自www.cnblogs.com/rabbitstudent/p/12759880.html
今日推荐