思路分析:
核心算法:输入的时间减去现在的时间就是剩余的时间,即倒计时,但是不能拿着时分秒相减。
用时间戳来做。用户输入时间总的毫秒数减去现在时间毫秒数,得到的就是剩余时间毫秒数
把剩余时间总的毫秒转换为天、时、分、秒
转换公式:
d=parseInt(总秒数/60/60/24); 天数
h=parseInt(总秒数/60/60%24); 小时
m=parseInt(总秒数/60%60); 分钟
s=parseInt(总秒数%60); 秒
function countDow(time){
var nowTime = +new Date(); //返回当前时间总毫秒数
var inputTime = +new Date(time);//返回时用户输入事件总的毫秒数
var times = (inputTime - nowTime) /1000;//time时剩余时间总的秒数
var d =parseInt(times /60 /60 /24);
d = d<10? '0' +d:d;
var h =parseInt(times /60 /60 %24);
h = h<10? '0' +h:h;
var m =parseInt(times /60 %60);
m = m<10? '0' +m:m;
var s =parseInt(times %60);
s = s<10? '0' +s:s;
return d+'天'+h+'时'+m+'分'+s+'秒';
}
console.log(countDown('2020-10-31 14:49:00'));