1
需求:根据后台返回的失效时间进行倒计时计算,并实时进行倒计时内容变化

效果:

image-20220324113624357

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//倒计时计算 endDate格式:'2022-03-16 22:19:02'

queryTime: function(endDate) {
var interKey = setInterval(
() => {
let date1 = new Date().getTime()
//处理火狐IE浏览器不兼容问题
var endtime = endDate.replace(/-/g, '/')
let date2 = new Date(endtime).getTime()
let date3 = date2 - date1
//计算出相差天数
let days = Math.floor(date3 / (24 * 3600 * 1000))
//计算出小时数
let leave1 = date3 % (24 * 3600 * 1000)
//计算天数后剩余的毫秒数
let hours = Math.floor(leave1 / (3600 * 1000))
//计算相差分钟数
let leave2 = leave1 % (3600 * 1000)
//计算小时数后剩余的毫秒数
let minutes = Math.floor(leave2 / (60 * 1000))
//计算相差秒数
let leave3 = leave2 % (60 * 1000)
//计算分钟数后剩余的毫秒数
let seconds = Math.round(leave3 / 1000)
console.log(obtainEndDate)
if (days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0) {
this.sydate = '0天0时0分0秒'
clearInterval(interKey)
return false
}
this.sydate =
days + '天' + hours + '时' + minutes + '分' + seconds + '秒'
},
1000,
''
)
},