1.实现的效果:
2.js
tuan(index) {
this.house_id = index;
var that = this;
var wechat = uni.getStorageSync(\'wechat\');
that.wechat = wechat;
// 初始化请求
uni.request({
url: that.COMMON.ApiUrl + "/api/MakeGroup/index",
data: {
openid: wechat.openid,
house_id: index
},
success: (res) => {
console.log(\'拼团\', res)
if (res.data.group[\'end_time\']) {
var bend = this.getdate(res.data.group[\'end_time\']);
}
var utils = require(\'../../utils/utils.js\');
this.timer = setInterval(() => { //注意箭头函数!!
that.infotime = utils.getTimeLeft(bend) //使用了util.getTimeLeft
if (this.infotime == "0天0时0分0秒") {
clearInterval(this.data.timer);
}
}, 1000);
that.houses = res.data.houses;
that.group = res.data.group;
that.infoHtml = graceRichText.format(res.data.group[\'info\']); //内容
},
fail: function() {
uni.showToast({
title: \'接口获取失败\',
icon: \'none\',
duration: 500
});
}
})
},
getdate(value) { if (!value) return \'\'; value = parseInt(value) * 1000 var now = new Date(value); var year = now.getFullYear(); var month = now.getMonth() + 1; if (month < 10) { month = \'0\' + month } var date = now.getDate(); if (date < 10) { date = \'0\' + date } return year + "-" + month + "-" + date },
3.utils.js:
//取倒计时(天时分秒)
function getTimeLeft(datetimeTo){
// 计算目标与现在时间差(毫秒)
let time1 = new Date(datetimeTo).getTime();
let time2 = new Date().getTime();
let mss = time1 - time2;
// 将时间差(毫秒)格式为:天时分秒
let days = parseInt(mss / (1000 * 60 * 60 * 24));
let hours = parseInt((mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
let minutes = parseInt((mss % (1000 * 60 * 60)) / (1000 * 60));
let seconds = parseInt((mss % (1000 * 60)) / 1000);
return days + "天" + hours + "时" + minutes + "分" + seconds + "秒"
}
module.exports = {
getTimeLeft: getTimeLeft
}