page({ data:{ endTime:'2020-3-11 17:00:30' }, /** * 生命周期函數--監聽頁面加載 */ onLoad: function (options) { var that = this that.countDown() }, // 倒計時 countDown:function(){ var that=this; var nowTime = new Date().getTime();//現在時間(時間戳) var endTime = new Date(that.data.endTime).getTime();//結束時間(時間戳) var time = (endTime-nowTime)/1000;//距離結束的毫秒數 // 獲取天、時、分、秒 let day = parseInt(time / (60 * 60 * 24)); let hou = parseInt(time % (60 * 60 * 24) / 3600); let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); // console.log(day + "," + hou + "," + min + "," + sec) day = that.timeFormin(day), hou = that.timeFormin(hou), min = that.timeFormin(min), sec = that.timeFormin(sec) that.setData({ day: that.timeFormat(day), hou: that.timeFormat(hou), min: that.timeFormat(min), sec: that.timeFormat(sec) }) // 每1000ms刷新一次 if (time>0){ that.setData({ countDown: true }) setTimeout(this.countDown, 1000); }else{ that.setData({ countDown:false }) } }, //小於10的格式化函數(2變成02) timeFormat(param) { return param < 10 ? '0' + param : param; }, //小於0的格式化函數(不會出現負數) timeFormin(param) { return param < 0 ? 0: param; }, })
樣式自己隨便寫吧,原文章的鏈接沒有找到,實在不好意思哈。