1.核心算法:输入的时间减去现在的时间,即倒计时,但不能拿着时分秒相减,
如05分减去25分,结果会是负数
2.用时间戳(获得总的毫秒数,是1970.1.1至今的总毫秒数(时间戳))来做,用输入的时间的时间戳减去现在时间的时间戳,得到相差的时间戳毫秒
3.将剩余的时间戳转换成时分秒
转换公式:
d = parseInt(总毫秒数 / 60 / 60 / 24); //计算天数
h = parseInt(总毫秒数 / 60 / 60 % 24); //计算小时
m = parseInt(总毫秒数 / 60 % 60); //计算分数
s = parseInt(总毫秒数 % 60); //计算秒数
//倒计时
function getCountdown() {
function countdown(intime) {
var nowTime = +new Date(); //当前时间的总毫秒数
var inputTime = +new Date(intime); //输入时间的总毫秒数
var time = (inputTime - nowTime) / 1000; //剩余时间的总毫秒数
var d = parseInt(time / 60 / 60 / 24); //计算天数
d = d < 10 ? "0" + d : d;
var h = parseInt(time / 60 / 60 % 24); //计算小时
h = h < 10 ? "0" + h : h;
var m = parseInt(time / 60 % 60); //计算分数
m = m < 10 ? "0" + m : m;
var s = parseInt(time % 60); //计算秒数
s = s < 10 ? "0" + s : s;
return d + '天' + h + "小时" + m + '分钟' + s + "秒";
}
console.log(countdown("2022-12-10 18:00:00"));
}