获取时间戳
- 要获取时间戳,则需要用到JS中的Date() 内置对象了,那么获得时间戳,这里有4种方式获取距离1970年1月1日到现在的毫秒数,代码如下
<script>
// 我们获得Date总的毫秒数(时间戳),不是当前的时间,而是距离1970年1月1日经过了多少毫秒
// 两种方法 valueOf() getTime()
const date = new Date();
console.log(date.valueOf());
console.log(date.getTime());
// 简单写法 +new 可以直接返回时间戳
const date1 = +new Date();
console.log(date1);
// H5 新增属性 Date.now() 获得毫秒数
console.log(Date.now());
</script>
思路
- 有了时间戳之后,我们便可以利用用户输入的时间 减去 我们当前的时间戳, 中间的差值即为我们的倒计时数, 那么代码如下
function countDown(time) {
let dateNow = +new Date(); // 获取现在的时间戳
let inputTime = +new Date(time); // 得到用户输入的时间戳
let times = (inputTime - dateNow) / 1000; // 获取总秒数
let d = parseInt(times / 60 / 60 / 24); // 获得天
d = d < 10 ? '0' + d : d; // 如果数字小于10,则在前加一个0 如09时03分06秒
let h = parseInt(times / 60 / 60 % 24); // 时
h = h < 10 ? '0' + h : h;
let m = parseInt(times / 60 % 60); // 分
m = m < 10 ? '0' + m : m;
let s = parseInt(times % 60); // 秒
s = s < 10 ? '0' + s : s;
return d + '天' + h + '时' + m + '分' + s + '秒'; // 返回值
}
let count = countDown('2021-7-9 10:00:00'); // 传入参数
console.log(Date()); // 输出一下现在的时间
console.log(count); // 倒计时
运行程序,在F12控制台即可查看结果