今天工作 使用到了用时间戳做倒计时的功能
通过在网上观看案例 理清了自己的思路
我做的项目需求是完成一个抽奖活动的倒计时 抽奖活动开启的时间是每周六的上午十点
整理到了思路
1.首先我们需要获取当前登录的时间和时间戳
new Date(); //获取当前具体时间
2.我们需要获取当前是周几 为了方便我们做接下来的为周六定位
myDate.getDay(); //获取当前是周几
3.计算出一天的时间戳
24 * 60 * 60 * 1000; //一天的时间戳
4.运用之前获取的周几来求出周六十点的时间戳
// 做完发现了一个问题 在这里做出了修改 需要获取登录当天0点的时间戳 于是在这里获取了一下登录当天0点的时间戳 let nowstart = new Date(new Date().toLocaleDateString()).getTime(); // ("当天0点的时间戳"); let furtureSaturdayTimes = nowstart + (6 - week) * dayLongTime + 10 * 60 * 60 * 1000;
// 周六十点的时间戳 furtureSaturdayTime 一天的时间戳 dayLongTime ;
5.我们用周六十点的时间戳 - 当前的时间戳 获得的时间戳转化成天时分秒就可以了
this.day = Math.floor(diffSecond / 86400);
this.hour = Math.floor((diffSecond % 86400) / 3600);
this.minute = Math.floor(((diffSecond % 86400) % 3600) / 60);
this.second = Math.floor(((diffSecond % 86400) % 3600) % 60);
// diffSecond 为相差的秒数
7.给我们换算好的方法加上定时器~
// 倒计时定时器
currentTime() {
setInterval(this.getDiffTime, 500);
},
8.不要忘记 清除定时器哦
beforeDestroy() {
if (this.getDiffTime) {
clearInterval(this.getDiffTime); // 在Vue实例销毁前,清除时间定时器
}