yubo
2026-04-11 40f5cf2a8c324bf08fd5f0aec2e9da00e5f59f76
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
// translate router.meta.title, be used in breadcrumb sidebar tagsview
export function toCardGetUserInfo(UUserCard) {
  if (UUserCard.length !== 18) {
    return null
  }
  // 获取出生日期
  var birth = UUserCard.substring(6, 10) + '-' + UUserCard.substring(10, 12) + '-' + UUserCard.substring(12, 14)
 
  var sex
  // 获取性别
  if (parseInt(UUserCard.substr(16, 1)) % 2 === 1) {
    // 男
    sex = '1'
  } else {
    // 女
    sex = '2'
  }
 
  // 获取年龄
  var myDate = new Date()
  var month = myDate.getMonth() + 1
  var day = myDate.getDate()
  var age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1
  if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) === month && UUserCard.substring(12, 14) <= day) {
    age++
  }
  if (age <= 0) {
    age = 1
  }
  return { birth: birth, sex: sex, age: age }
}
 
/**
 * 计算工龄
 * @param {*} entryDate 入职日期
 */
export function calculateSeniority(val) {
  // eslint-disable-next-line eqeqeq
  if (val.length === 0) {
    return '0年0月'
  }
  var sDate = new Date(val)
  var eDate = new Date()
 
  // 获得各自的年、月、日
  var sY = sDate.getFullYear()
  var sM = sDate.getMonth() + 1
  var sD = sDate.getDate()
  var eY = eDate.getFullYear()
  var eM = eDate.getMonth() + 1
  var eD = eDate.getDate()
 
  // var flagD = 0
  var flagM = 0
  var flagY = 0
  // var months = 0
  var d = eD - sD
  if (d > 0 && d >= 15) {
    flagM = 1
  }
  if (d < 0 && 30 + d < 15) {
    flagM = -1
  }
 
  var m = eM + flagM - sM
  if (m < 0) {
    flagY = -1
    m = 12 + m
  }
 
  var y = eY + flagY - sY
  return y + '年' + m + '月'
}
 
/**
 * 计算日期时间间隔
 * @param begin 起始时间
 * @param end 结束时间
 * @param flag 间隔单位
 * @returns {*}
 */
export function dateDifference(begin, end, flag) {
  let dateSpan
  let iReturn
  begin = Date.parse(begin)
  end = Date.parse(end)
  dateSpan = end - begin
  dateSpan = Math.abs(dateSpan)
  switch (flag) {
    case 'd':
      iReturn = Math.floor(dateSpan / (24 * 3600 * 1000))
      break
    case 'y':
      iReturn = Math.floor(dateSpan / (365 * 24 * 3600 * 1000))
      break
    case 'o':
      var sDate = new Date(begin)
      var eDate = new Date(end)
 
      // 获得各自的年、月、日
      var sY = sDate.getFullYear()
      var sM = sDate.getMonth() + 1
      var sD = sDate.getDate()
      var eY = eDate.getFullYear()
      var eM = eDate.getMonth() + 1
      var eD = eDate.getDate()
 
      // var flagD = 0
      var flagM = 0
      var flagY = 0
      // var months = 0
      var d = eD - sD
      if (d > 0 && d >= 15) {
        flagM = 1
      }
      if (d < 0 && 30 + d < 15) {
        flagM = -1
      }
 
      var m = eM + flagM - sM
      if (m < 0) {
        flagY = -1
        m = 12 + m
      }
      if (m === 12) {
        flagY = 1
        m = 0
      }
      var y = eY + flagY - sY
      iReturn = y + '年' + m + '月'
  }
  return iReturn
}
 
export function dateToString(val) {
  val = new Date(val)
  const year = val.getFullYear()
  const month = val.getMonth() + 1
  const day = val.getDate()
  return year + '-' + month + '-' + day
}