码迷,mamicode.com
首页 > 微信 > 详细

小程序秒杀倒计时

时间:2019-07-09 19:10:23      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:成都   count   timestamp   结束   ndt   转换   时间   没有   res   

//倒计时
countDown: function (data,date) { // data为列表数据  此数据内含结束时间endTime    date为服务器时间
console.log(data)
var that = this;
let newDate = (date).replace(/-/g, ‘/‘);// 获取服务器时间 转换成都支持的格式
var systimestamp = new Date(newDate).getTime();//转换成时间戳
var time = setInterval(function () { // 循环执行
systimestamp = (systimestamp/1000+1)*1000;//服务器时间戳执行+1秒
console.log(‘服务器时间倒计时‘ + systimestamp)
var spikeFruitList = addHHMMSSToListData2(data, systimestamp);
console.log(‘倒计时集合‘+spikeFruitList)
that.setData({
spikeFruitList: spikeFruitList
})
}, 1000);
}
 
const addHHMMSSToListData2 = (data, systimestamp) => {
var result = data;
var goingList = new Array();
for (let i = 0; i < result.length; i++) {
var expiryTime = result[i].endTime;
console.log(‘结束时间+‘ + result[i].endTime);
var futureTime = new Date(expiryTime).getTime();
result[i] = addHHMMSSToList2(result[i], systimestamp, futureTime);
if (result[i].h_h == ‘00‘ && result[i].m_m == ‘00‘ && result[i].s_s == ‘00‘) {
//此处如果时间到了 不在加入集合中 列表也就不再显示倒计时数据
} else {
goingList.push(result[i]);
}
}
return goingList;
}
 
 
const addHHMMSSToList2 = (result, nowtimestamp, comparetimestamp) => {
var nowTime = nowtimestamp;// 当前时间的时间戳
var futureTime = comparetimestamp;// 比较时间的时间戳
// 未来的时间减去现在的时间 ;
var resTime = (futureTime - nowTime) / 1000;
// 结束时间
var zero = futureTime - nowTime;
if (zero >= 0) { // 认为还没有到达结束的时间
result.h_h = addHH(resTime);
result.m_m = addMM(resTime);
result.s_s = addSS(resTime);
} else {
result.h_h = ‘00‘;
result.m_m = ‘00‘;
result.s_s = ‘00‘;
}
return result;
}

// 时间转换
function timestampToTime(s) {
var h = Math.floor(s / 3600 % 24);
var min = Math.floor(s / 60) % 60;
var sec = s % 60;
h = add(h);
min = add(min);
sec = add(sec);
return h + ‘:‘ + min + ‘:‘ + sec
}

// 添 0
function add(m) {
return m < 10 ? ‘0‘ + m : m
}
//时
function addHH(s) {
var h = Math.floor(s / 3600 % 24);
return add(h);
}
//分
function addMM(s) {
var min = Math.floor(s / 60) % 60;
return add(min);
}
//秒
function addSS(s) {
var sec = s % 60;
return add(sec);
}
 
 
 
 
 
页面集合取值
{{item.h_h}}:{{item.m_m}}:{{item.s_s}}
 
效果图:
技术图片

小程序秒杀倒计时

标签:成都   count   timestamp   结束   ndt   转换   时间   没有   res   

原文地址:https://www.cnblogs.com/it66/p/11159326.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!