- 为了方便计算,将时分秒等60进制的单位换算成毫秒。
- 用户输入时间总的毫秒数-当前时间毫秒数=剩余时间毫秒数。
- 再将剩余时间毫秒数换算成时分秒,其中可先把毫秒转化成秒
- 换算公式如下:(自己笔算一下还是很好理解的)
秒:总秒数%60
分:总秒数/60%60
时:总秒数/60/60%24
天:总秒数/60/60/24 - 关于时间戳的函数:
- 为了美观,利用三元运算符在0-9的数字前补零
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function countdown(time) {
var nowTime=+new Date();
var ddl=+new Date(time);
var res=ddl-nowTime;
res=res/1000;
var d=parseInt(res/60/60/24);
d=d<10? '0'+d:d;
var h=parseInt(res/60/60%24);
h=h<10? '0'+h:h;
var m=parseInt(res/60%60);
m=m<10? '0'+m:m;
var s=parseInt(res%60);
s=s<10? '0'+s:s;
return d+'天'+h+'时'+m+'分'+s+'秒';
}
console.log(countdown('2021-3-16 12:00:00'));
</script>
</body>
</html>