time-countdown.js
1.7 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// pages/zeroSell/components/timeCountDown/time-countdown.js
Component({
/**
* 组件的属性列表
*/
properties: {
endTime: {//结束时间
type: Number
},
formatTime: {
type: Array
}
},
/**
* 组件的初始数据
*/
data: {
},
ready: function() {
this.setData({
formatTime: this.formatCountDown(this.properties.endTime)
})
this.formatTime()
},
/**
* 组件的方法列表
*/
methods: {
formatTime:function() {
let self = this
setInterval(function() {
self.setData({
formatTime: self.formatCountDown(self.properties.endTime)
})
},1000)
},
formatCountDown:function formatCountDown(end) {
if (end === 0) {
return '00000000'
}
var timeInSecond = (end * 1000 - Date.now()) / 1000
var day = 24 * 60 * 60
var numberOfDay = Math.floor(timeInSecond / day)
timeInSecond = timeInSecond - numberOfDay * day
numberOfDay = Math.min(numberOfDay, 99)
var hour = 60 * 60
var numberOfHour = Math.floor(timeInSecond / hour)
timeInSecond = timeInSecond - numberOfHour * hour
var minute = 60
var numberOfMinute = Math.floor(timeInSecond / minute)
timeInSecond = timeInSecond - numberOfMinute * minute
var numberOfSecond = parseInt(timeInSecond)
var list = [numberOfDay, numberOfHour, numberOfMinute, numberOfSecond]
for (var i = 0; i < list.length; i++) {
var item = list[i]
if (item < 10) {
list[i] = '0' + item
} else {
list[i] = '' + item
}
}
return list
}
}
})