js怎么做倒计时,其实很简单。话不多说,直接上菜
使用 new Date() 获取当前时间, Date.parse()方法解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数。然后,求两个时间差。这里也可以使用 getTime() 方法获取现在时和结束时距离的毫秒数。
把时间差转换为天数、小时数、分钟数和秒数显示。主要是用%
取模运算。得到距离结束时间的毫秒数(剩余毫秒数),除以 1000 得到剩余秒数,再除以 60 得到剩余分钟数,再除以 60 得到剩余小时数。除以 24 得到剩余天数。剩余秒数 diff/1000 模 60 得到秒数,剩余分钟。数。diff/(1000 * 60) 模 60 得到分钟数,剩余小时数 diff/(1000 * 60 * 60) 模 24 得到小时数。
getPart(endTime) {
//获取当前时间戳并换算为秒做单位
const current = Date.parse(new Date()) / 1000
//时间戳相差多少秒
let diff = endTime - current
//判断是否过时
if (diff > 0) {
let d = Math.floor(diff / (3600 * 24)) //获取天数
let h = Math.floor((diff % (3600 * 24)) / (60 * 60)) //获取时
let m = Math.floor(((diff % (3600 * 24)) % (60 * 60)) / 60) //获取分
let s = Math.floor(diff % 60) //获取秒
d = d < 10? "0" + d : d;
h = h < 10? "0" + h : h;
m = m < 10? "0" + m : m;
s = s < 10? "0" + s : s;
let _diffData = [d, h, m, s]
} else {
let _diffData = ["00", "00", "00","00"];
return _diffData;
setInterval(getPart(), 1000);
对倒计时进行封装,可以使用setInterval()方法对函数调用就可以实现倒计时了。
如果想停掉倒计时则用clearInterval()方法就可以了。
描述如有错误,欢迎指正!