倒计时案例.png

案例分析:

①核心算法:输入的时间减去现在的时间就是剩余的时间,即倒计时。但是不能拿着时分秒相减,比如05分-25分,结果会是负数。
②用时间戳来做。用户输入时间总的毫秒数减去现在时间的总的毫秒数,得到的就是剩余时间的毫秒数。
③把剩余时间总的毫秒数转换为天、时、分、秒(时间戳转换为时分秒)
转换公式如下:

  1. - d = parseInt(总秒数/60/60/24); 计算天数
  2. - d = parseInt(总秒数/60/60%24); 计算小时
  3. - d = parseInt(总秒数/60%60; 计算分钟
  4. - d = parseInt(总秒数%60); 计算秒钟
  5. <script><br /> function countDown (time) { //countDown倒计时<br /> var nowTime = +new Date(); //当前时间 ms<br /> var inputTime = +new Date(time); //用户输入的时间 ms<br /> var times = (inputTime - nowTime) / 1000; //剩余时间总的秒数<br /> //转换<br /> var d = parseInt(times / 60 / 60 / 24);<br /> var h = parseInt(times / 60 / 60 % 24);<br /> var m = parseInt(times / 60 % 60);<br /> var s = parseInt(times % 60);<br /> //返回值<br /> return '剩余' + d + '天' + h + '时' + m + '分' + s + '秒';<br /> }<br /> var date = newDate();<br /> console.log('现在是:' + date);<br /> var time = '2022-05-01 00:00:00';<br /> console.log('距离' + time + '倒计时');<br /> console.log(countDown(time));<br /> </script><br />现在是:Thu Apr 28 2022 02:34:21 GMT+0800 (中国标准时间)<br />距离2022-05-01 00:00:00倒计时<br />剩余2天21时25分38秒<br />.