在程序开发过程中,有时会用到倒计时,根据所给结束时间(例如:2018-10-01 00:00:00)算出剩余天数、时分秒,先总结的微信小程序的倒计时分享给大家!!
在后台异步返回结束时间时调用this.countDown(endTime)即可;
data:{ lastTime: '', //剩余时间 endTimeText:'已结束',//结束文字 } //参数endTime格式2018-10-01 00:00:00 countDown(endTime) { let endTimeStr = endTime.toString(); let endTimeNum = new Date(Date.parse(endTimeStr.replace(/-/g, "/"))).getTime(); let self = this; let timer = setInterval(function() { let nowTime = new Date(); let t = endTimeNum - nowTime.getTime(); if (t > 0) { let day = Math.floor(t / 86400000); let hour = Math.floor((t / 3600000) % 24); let min = Math.floor((t / 60000) % 60); let sec = Math.floor((t / 1000) % 60); hour = hour < 10 ? `0${hour}` : hour; min = min < 10 ? `0${min}` : min; sec = sec < 10 ? `0${sec}` : sec; let format = ''; if (day > 0) { format = `${day}天${hour}时${min}分${sec}秒`; } if (day <= 0 && hour > 0) { format = `${hour}时${min}分${sec}秒`; } if (day <= 0 && hour <= 0) { format = `${min}分${sec}秒`; } self.setData({ lastTime: format }); } else { clearInterval(timer); self.setData({ lastTime: self.data.endTimeText, }); } }, 1000); }复制代码