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
// 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
  }
  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
}