format.ts
2.88 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
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
/**
* @description 手机号格式化显示 123****5678
* @param {String|Number} num
* @returns {String}
*/
export function formatPhoneNo(num) {
return num.toString().replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
}
/**
* 格式化Email为 h****@b2bwings.com 的格式
* @param {*} str
*/
export function formatEmail(str) {
if (!str) {
return ''
}
let i = str.indexOf('@')
if (i <= 0) {
return ''
}
let start = str.substring(0, 1)
let end = str.substring(i)
return `${start}****${end}`
}
/**
* @description 数字千分位
* @param {number|string} num
* @author sheng
* @date 2020/04/26
*/
export function thousandBitSeparator(num) {
return num && (num.toString().indexOf('.') != -1
? num.toString().replace(/(\d)(?=(\d{3})+\.)/g, function ($0, $1) {
return $1 + ","
}) : num.toString().replace(/(\d)(?=(\d{3})+$)/g, function ($0, $1) {
return $1 + ","
}))
}
/**
* 获取该日开始时间 零时零分零秒
* @param {number} stmp 毫秒时间戳
* @returns {number} 毫秒时间戳
*/
export function getDateStartTime(stmp) {
return new Date(new Date(Number(stmp)).toLocaleDateString()).getTime()
}
/**
* 获取该日结束时间 23时59分59秒
* @param {date} date 毫秒时间戳
* @returns {number} 毫秒时间戳
*/
export function getDateEndTime(stmp) {
return new Date(
new Date(new Date(Number(stmp)).toLocaleDateString()).getTime() +
24 * 60 * 60 * 1000 -
1
)
}
/**
* 日期格式化
* @param {*} fmt
* @param {*} time 毫秒时间戳
*/
export function dateFormat(fmt, time) {
let ret
let newDate = new Date() //实例化一个Date对象
newDate.setTime(time)
const opt = {
"Y+": newDate.getFullYear().toString(), // 年
"M+": (newDate.getMonth() + 1).toString(), // 月
"D+": newDate.getDate().toString(), // 日
"h+": newDate.getHours().toString(), // 时
"m+": newDate.getMinutes().toString(), // 分
"s+": newDate.getSeconds().toString() // 秒
}
for (let k in opt) {
ret = new RegExp("(" + k + ")").exec(fmt)
if (ret) {
fmt = fmt.replace(ret[1], (ret[1].length == 1) ?
(opt[k]) : (opt[k].padStart(ret[1].length, "0")))
}
}
return fmt
}
/**
* 请求参数格式化为字符串
* @param {Object} query
* @author sheng
* @date 2020/06/23
*/
export function formatQuery(query) {
if (typeof query !== 'object') {
return ''
}
let params = []
if (query) {
for (let item in query) {
let vals = query[item]
if (vals !== undefined) {
params.push(item + '=' + query[item])
}
}
}
return params.length ? '?' + params.join('&') : ''
}
/**minutes */
export function getRemainTime(minutes) {
/**剩余小时 */
let hour = Math.floor(minutes / 60)
/**剩余分钟 */
let min = Math.round(minutes % 60)
return hour <= 0 ? `${min}分钟` : `${hour}小时${min}分钟`
}