1 /** 2 * 倒计时函数 3 * @param {String}} endTime 终止时间戳 4 */ 5 const countDown = (endTime, callback) => { 6 const end = endTime, 7 now = new Date().getTime(); 8 let differ = end - now, 9 hours, minutes, seconds; 10 if (differ >= 0) { 11 hours = Math.floor(differ / 1000 / 60 / 60 % 24); 12 minutes = Math.floor(differ / 1000 / 60 % 60); 13 seconds = Math.floor(differ / 1000 % 60); 14 } 15 callback({ 16 h: check(hours), 17 m: check(minutes), 18 s: check(seconds) 19 }); 20 setTimeout(() => { 21 countDown(end, callback); 22 }, 1000); 23 }; 24 25 /** 26 * 时间前加零 27 * @param {Number} time 28 */ 29 const check = time => { 30 if (time < 10) { 31 time = '0' + time; 32 } 33 return time.toString(); 34 }; 35 36 export default countDown;
1 countDown(new Date('2018/9/5 10:00:00'), function(timeObj) { // 调用 2 console.log(timeObj.h, timeObj.m, timeObj.s) 3 });