分析
- 算法:截止时间减去现在的时间就是剩余时间,但不能用时分秒相减会出现负数。
- 用时间戳来做。截止时间总毫秒数减去现在时间总毫秒数,得到剩余时间毫秒数。
- 将毫秒数转换为天、时、分、秒。
<script>
function coutDown(time) {
var nowtime = +new Date();//返回当前时间总毫秒数
var inputtime = +new Date(time);//返回输入时间总毫秒数
var times = (inputtime - nowtime) / 1000;//剩余时间总秒数
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(coutDown('2023-2-13 18:00:00'/*截止时间*/));
</script>