获取系统时间差 - 倒计时

Vue中使用延时定时器,递归调用 countDown 函数,进行倒计时

countDown(time) {
            if (time == 0) {
                this.timer && clearTimeout(this.timer);
                this.timeString = "结束了";
                return;
            }
            const addZero = n => (n < 10 ? "0" + n : n);
            let diff = time - 1;
            let d = Math.floor(diff / 3600 / 24),
                h = Math.floor((diff / 3600) % 24),
                m = Math.floor((diff / 60) % 60),
                s = Math.floor(diff % 60);
            d = addZero(d);
            h = addZero(h);
            m = addZero(m);
            s = addZero(s);
            this.timeString = `${d}天${h}时${m}分${s}秒`;
            // 递归调用
            this.timer = setTimeout(() => {
                this.countDown(diff);
            }, 1000);
        }

JavaScript 获取系统时间差,处理倒计时 天、时、分、秒

let countDown = (time) => {
            if (time == 0) {
                timer && clearTimeout(this.timer);
                timeString = "结束了";// 要展示的时间字符串
                return;
            }
            // 补0 格式化展示时间
            const addZero = n => (n < 10 ? "0" + n : n);
            let diff = time - 1;
            // 后台返回的是秒,进行天、小时、分钟、秒钟的时间转换
            let d = Math.floor(diff / 3600 / 24),
                h = Math.floor((diff / 3600) % 24),
                m = Math.floor((diff / 60) % 60),
                s = Math.floor(diff % 60);
            d = addZero(d);
            h = addZero(h);
            m = addZero(m);
            s = addZero(s);
            // 字符串拼接
            this.timeString = `${d}天${h}时${m}分${s}秒`;
            // 递归调用
            this.timer = setTimeout(() => {
                this.countDown(diff);
            }, 1000);
        }

猜你喜欢

转载自www.cnblogs.com/zxk5211/p/web_33.html