话不多说,直接贴代码
/**
* 页面的初始数据
*/
data: {
pastDate:'2019-03-05 17:27:34',//过期时间
timer: "00:30:00",
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
var timerInterval= setInterval(that.countDown, 1000);
},
//定时触发方法
countDown(){
let pastDate = this.data.pastDate;
let nowPastTime = new Date(pastDate.replace(/-/g, '/')).getTime();
let now = new Date().getTime();
let secs = (nowPastTime - now) / 1000;
let mesc = this.dateformate(secs);
if (mesc == "00:00:00"){
clearInterval(timerInterval);
// console.log(12312);
}else{
this.setData({
timer: mesc
})
}
},
// 时间格式化输出,将时间戳转为 倒计时时间
dateformate(micro_second) {
var second = micro_second; //总的秒数
// 天数位
var day = Math.floor(second / 3600 / 24);
var dayStr = day.toString();
if (dayStr.length == 1) dayStr = '0' + dayStr;
// 小时位
//var hr = Math.floor(second / 3600 % 24);
var hr = Math.floor(second / 3600); //直接转为小时 没有天 超过1天为24小时以上
var hrStr = hr.toString();
if (hrStr.length == 1) hrStr = '0' + hrStr;
// 分钟位
var min = Math.floor(second / 60 % 60);
var minStr = min.toString();
if (minStr.length == 1) minStr = '0' + minStr;
// 秒位
var sec = Math.floor(second % 60);
var secStr = sec.toString();
if (secStr.length == 1) secStr = '0' + secStr;
return hrStr + ":" + minStr + ":" + secStr;
},