时间戳时间
4小时触发一次,在这个时间内不会触发
//saveData.saveObject和saveData.getObject("timeNotic")是本地存储
let timeNotic = 1000 * 60 * 60 * 4;
// let timeNotic = 1000 * 10;
let timeNow = Date.parse(new Date());
let timeGet = saveData.getObject("timeNotic") ;
if (timeGet){
let timeDiffe = timeNow - timeGet;
if (timeDiffe > timeNotic) {
saveData.saveObject(timeNow, "timeNotic");
// 触发
}
}else{
saveData.saveObject(timeNow, "timeNotic");
// 触发
}
function saveObject(data,key){
wx.setStorage({
key: key,
data: data,
success:function(res){
console.log("存储成功!"+res);
},
fail:function(res){
console.log("存储失败!"+res);
}
})
}
function getObject(key){
return wx.getStorageSync(key);
}
字符串时间
这个是毫秒
var start ='2019-07-25 17:20:59';
var end = '2019-07-26 17:20:59';
var start_date = new Date(start.replace(/-/g, "/"));
var end_date = new Date(end.replace(/-/g, "/"));
var days = end_date.getTime() - start_date.getTime();
console.log('------' + days);
毫秒转天
var day = parseInt(days / (1000 * 60 * 60 * 24));
//int-string
var days = day.toString();
计时器setInterval()
https://www.cnblogs.com/paulhe/p/3848323.html
倒计时代码
Page({
/**
* 页面的初始数据
*/
data: {
timer: '',//定时器名字
countDownNum: '60'//倒计时初始值
},
onShow: function(){
//什么时候触发倒计时,就在什么地方调用这个函数
this.countDown();
},
countDown: function () {
let that = this;
let countDownNum = that.data.countDownNum;//获取倒计时初始值
//如果将定时器设置在外面,那么用户就看不到countDownNum的数值动态变化,所以要把定时器存进data里面
that.setData({
timer: setInterval(function () {//这里把setInterval赋值给变量名为timer的变量
//每隔一秒countDownNum就减一,实现同步
countDownNum--;
//然后把countDownNum存进data,好让用户知道时间在倒计着
that.setData({
countDownNum: countDownNum
})
//在倒计时还未到0时,这中间可以做其他的事情,按项目需求来
if (countDownNum == 0) {
//这里特别要注意,计时器是始终一直在走的,如果你的时间为0,那么就要关掉定时器!不然相当耗性能
//因为timer是存在data里面的,所以在关掉时,也要在data里取出后再关闭
clearInterval(that.data.timer);
//关闭定时器之后,可作其他处理codes go here
}
}, 1000)
})
}
})
网友评论