1. 程式人生 > 其它 >解決時間戳結合的倒計時功能以天 時 分 秒為單位

解決時間戳結合的倒計時功能以天 時 分 秒為單位

今天工作 使用到了用時間戳做倒計時的功能
通過在網上觀看案例 理清了自己的思路
我做的專案需求是完成一個抽獎活動的倒計時 抽獎活動開啟的時間是每週六的上午十點
整理到了思路
1.首先我們需要獲取當前登入的時間和時間戳

new Date(); //獲取當前具體時間
newDate().getTime();//獲取當前時間戳

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.我們用週六十點的時間戳 - 當前的時間戳 獲得的時間戳轉化成天時分秒就可以了

週六十點的時間戳 - 當前的時間戳/1000就是我們需要的時間戳了 6.對獲得的時間戳進行換算 程式碼如下
      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例項銷燬前,清除時間定時器
    }