time-util.js 1.4 KB
Newer Older
ksaria@outlook.com's avatar
ksaria@outlook.com committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
// 获取明天
function getTomorrow () {
  const date = new Date();
  date.setDate(date.getDate() + 1);
  date.setHours(0);
  date.setMinutes(0);
  date.setSeconds(0);
  return date;
}

// 前面加0
function addPreZero (number) {
  return number < 10 || number.length < 2 ? '0' + number : number;
}
/**
* 获取明天到当前的时间差, 
* @describe 需要停止定时器 clearInterval(window.tomorrowInterval);
* @param {Function} fun 回调函数
* @param {Number} time 定时器时间
* @param {Boolean} isZero 前面是否需要加0 默认需要
*/
function getTomorrowCountDown (fun, time = 1000, isZero = true) {
  const tomorrowTime = getTomorrow().getTime();
  window.tomorrowInterval = setInterval(function () {
    const todayTime = new Date().getTime();
    const resTime = (tomorrowTime - todayTime) / 1000;
    // 天数
    const day = Math.floor(resTime / 3600 / 24);
    // 小时
    const hourse = Math.floor(resTime / 3600 % 24);
    // 分钟
    const minutes = Math.floor(resTime / 60 % 60);
    // 秒
    const seconds = Math.floor(resTime % 60);
    if (!isZero) {
      fun({ day, hourse, minutes, seconds });
    } else {
      fun({
        day: addPreZero(day), hourse: addPreZero(hourse),
        minutes: addPreZero(minutes), seconds: addPreZero(seconds)
      });
    }
  }, time)
}


// getTomorrowCountDown(function (res) {
//   $('.time').text(`${res.hourse}:${res.minutes}:${res.seconds}`);
// });