鍍金池/ 問答/HTML/ 倒計時問題出現(xiàn)00的問題

倒計時問題出現(xiàn)00的問題

下面是一段倒計時,但是沒有處理,出現(xiàn)00的情況,想了下找不到解決這個問題的切入點,所以像個為請教下,怎么處理這個。

出現(xiàn)的00情況示例:
比如當?shù)褂嫊r到了09:59:01,那么到下一秒的時候原本應該是09:58:59,可這卻是09:59:00

setTimeFunc = (time) => {
    const aimTime = new Date(('2018-5-24 09:30:00').replace(/-/g, '/')).getTime();
    const currentTime = new Date().getTime();
    // const days = null;
    // const hours = null;
    // const seconds = null;
    const diffTime = aimTime - currentTime;

    const years = new Date(aimTime).getFullYear() - new Date().getFullYear();
    const month = new Date(aimTime).getMonth() - new Date().getMonth();

    if (years === 0) {
      if (month === 0) {
        const days = Math.floor(diffTime / (1000 * 60 * 60 * 24));
        const hours = Math.floor((diffTime - (days * 1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
        const minutes = Math.floor((diffTime - (days * 1000 * 60 * 60 * 24) - (hours * 1000 * 60 * 60)) / (1000 * 60));
        const seconds = Math.floor((diffTime - (days * 1000 * 60 * 60 * 24) - (hours * 1000 * 60 * 60) - (minutes * 1000 * 60)) / 1000);
        console.log(hours);
        this.setState({
          days: days > 9 ? days : '0' + days,
          hours: hours > 9 ? hours : '0' + hours,
          minutes: (minutes) > 9 ? minutes : '0' + minutes,
          seconds: seconds> 9 ? seconds : '0' + seconds
        });
      }
    }
回答
編輯回答
你的瞳

你是不要03 02 01 00只要3 2 1 0?還是03 02 01 0?

圖片描述

2018年9月6日 12:15
編輯回答
淺時光

本來就應該有“00”,“09:59:01”的下一個時間本來就是“09:59:00”而不是“09:58:59”,想要去掉“00”偷偷-1s的話你setState之前判斷一下當前是不是“00”就好了,是“00”的話直接-1s跳到下一秒。

2018年6月17日 14:21
編輯回答
喜歡你

能描述清楚一些么,00是指什么?

2018年7月4日 17:40