创建一个wxs文件
/**
* gb
* 列表展示倒计时(传入事件格式为字符串:2021-02-18 12:00:00)
* systimestamp:当前时间,compareTime:结束时间
*/
var formatterTimer = function (systimestamp, compareTime) {
var result = {};
var nowTime = systimestamp; // 当前时间的时间戳 也就是系统时间戳
var reg = getRegExp("-", "g"); // 获取正则表达式,全局替换
var str = compareTime.replace(reg, '/'); // 时间格式转换
// 将字符串转换成时间格式
var timePublish = getDate(str).valueOf();
var futureTime = getDate(timePublish).getTime(); // 比较时间的时间戳
// 未来的时间减去现在的时间 ;
//有时会多一分钟,在这里可以减一分钟即可。
var resTime = (futureTime - nowTime) / 1000;
// 结束时间
var zero = futureTime - nowTime;
if (zero >= 0) { // 认为还没有到达结束的时间
var h = (Math.floor(resTime / 3600)) < 10 ? '0' + (Math.floor(resTime / 3600)) : (Math.floor(resTime / 3600));
var m = (Math.floor(resTime / 60) % 60) < 10 ? '0' + (Math.floor(resTime / 60) % 60) : (Math.floor(resTime / 60) % 60);
var s = (Math.floor(resTime % 60)) < 10 ? '0' + (Math.floor(resTime % 60)) : (Math.floor(resTime % 60));
// h + ':' +
result = m + ':' + s;
result.status = true;
} else {
// 00:
result = '00:00';
result.status = false;
}
return result;
};
//将倒计时方法导出
module.exports = {
formatterTimer: formatterTimer
}
wxml文件引入
<wxs src="../../utils/countDown.wxs" module="countdown" />
//在wxml文件内使用该方法,systimestamp在js文件内获取系统时间,第二个参数为倒计时结束时间传入即可
countdown.formatterTimer(systimestamp,item.expirationTime)