Blame view

uni_modules/uview-plus/components/u-count-down/utils.js 1.69 KB
a2702f6d   刘淇   巡查计划
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
  // 补0,如1 -> 01
  function padZero(num, targetLength = 2) {
      let str = `${num}`
      while (str.length < targetLength) {
          str = `0${str}`
      }
      return str
  }
  const SECOND = 1000
  const MINUTE = 60 * SECOND
  const HOUR = 60 * MINUTE
  const DAY = 24 * HOUR
  export function parseTimeData(time) {
      const days = Math.floor(time / DAY)
      const hours = Math.floor((time % DAY) / HOUR)
      const minutes = Math.floor((time % HOUR) / MINUTE)
      const seconds = Math.floor((time % MINUTE) / SECOND)
      const milliseconds = Math.floor(time % SECOND)
      return {
          days,
          hours,
          minutes,
          seconds,
          milliseconds
      }
  }
  export function parseFormat(format, timeData) {
      let {
          days,
          hours,
          minutes,
          seconds,
          milliseconds
      } = timeData
      // 如果格式化字符串中不存在DD(天),则将天的时间转为小时中去
      if (format.indexOf('DD') === -1) {
          hours += days * 24
      } else {
          // 对天补0
          format = format.replace('DD', padZero(days))
      }
      // 其他同理于DD的格式化处理方式
      if (format.indexOf('HH') === -1) {
          minutes += hours * 60
      } else {
          format = format.replace('HH', padZero(hours))
      }
      if (format.indexOf('mm') === -1) {
          seconds += minutes * 60
      } else {
          format = format.replace('mm', padZero(minutes))
      }
      if (format.indexOf('ss') === -1) {
          milliseconds += seconds * 1000
      } else {
          format = format.replace('ss', padZero(seconds))
      }
      return format.replace('SSS', padZero(milliseconds, 3))
  }
  export function isSameSecond(time1, time2) {
      return Math.floor(time1 / 1000) === Math.floor(time2 / 1000)
  }