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
142
143
144
145
146
147
148
149
150
151
152
153
//防止多次重复点击 (函数节流)
export function throttle(fn, gapTime) {
if (gapTime == null || gapTime == undefined) {
gapTime = 1500;
}
let _lastTime = null;
return function () {
let _nowTime = new Date();
if (_nowTime - _lastTime > gapTime || !_lastTime) {
fn.apply(this, arguments); //将this和参数传给原函数
_lastTime = _nowTime;
}
};
}
export function debounce(fn, delay) {
let timeout = null;
return function () {
clearTimeout(timeout);
timeout = setTimeout(() => {
fn.apply(this, arguments);
}, delay);
};
}
/*
返回时间补0
time 时间
format 格式 yyyyMMdd HH:mm:ss, yyyyMMdd, HH:mm:ss
Symbol 分隔符号
*/
export function getFormatDate(time, format, symbol) {
if (typeof time == 'string') {
time = new Date(time.replace(/-/g, '/'))
}
format = format ? format : "yyyyMMdd HH:mm:ss";
symbol = symbol ? symbol : "";
let year = time.getFullYear();
let month =
time.getMonth() < 9 ? "0" + (time.getMonth() + 1) : time.getMonth() + 1;
let day = time.getDate() < 10 ? "0" + time.getDate() : time.getDate();
let hour = time.getHours() < 10 ? "0" + time.getHours() : time.getHours();
let minutes =
time.getMinutes() < 10 ? "0" + time.getMinutes() : time.getMinutes();
let seconds =
time.getSeconds() < 10 ? "0" + time.getSeconds() : time.getSeconds();
if (format === "yyyyMMdd HH:mm:ss") {
return symbol
? `${year}${symbol}${month}${symbol}${day} ${hour}:${minutes}:${seconds}`
: `${year}/${month}/${day} ${hour}:${minutes}:${seconds}`;
} else if (format === "yyyyMMdd") {
return symbol
? `${year}${symbol}${month}${symbol}${day}`
: `${year}/${month}/${day}`;
} else if (format === "HH:mm:ss") {
return `${hour}:${minutes}:${seconds}`;
} else if (format === "HH:mm") {
return `${hour}:${minutes}`;
}
}
// 返回每个月的第一天
export function getCurrentMonthFirst(date) {
date.setDate(1);
var month = parseInt(date.getMonth() + 1);
var day = date.getDate();
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
return date.getFullYear() + "-" + month + "-" + day;
}
// 返回每个月的最后一天
export function getCurrentMonthLast(date) {
var currentMonth = date.getMonth();
var nextMonth = ++currentMonth;
var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
var oneDay = 1000 * 60 * 60 * 24;
var lastTime = new Date(nextMonthFirstDay - oneDay);
var month = parseInt(lastTime.getMonth() + 1);
var day = lastTime.getDate();
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
return date.getFullYear() + "-" + month + "-" + day;
}
//开始时间取整, 取5的倍数
export function getInterTime(time) {
let date = time;
if (typeof time == "string") {
date = new Date(time);
}
const min = date.getMinutes();
const addMin = Math.floor(min / 5) * 5 + 5;
date.setMinutes(addMin);
return date;
}
// 判断是刚刚 60分钟以内 23小时以内 正常时间年月日
export function getCreateShowTime(createdTime) {
let timeResule = ''
const creatTime = createdTime.replace(/\-/g, "/")
const year = new Date().getFullYear()
const month = new Date().getMonth() + 1
const day = new Date().getDate()
const creatYear = new Date(creatTime).getFullYear()
const creatMonth = new Date(creatTime).getMonth() + 1
const creatDay = new Date(creatTime).getDate()
if (year == creatYear) {
if (month == creatMonth) {
if (day == creatDay) {
const letMin = (new Date().getTime() - new Date(creatTime).getTime()) / 1000 / 60;
if (letMin < 2) {
timeResule = '刚刚'
} else if (letMin < 60) {
timeResule = letMin.toFixed(0) + '分钟前'
} else {
timeResule = (letMin / 60).toFixed(0) + '小时前'
}
} else {
timeResule = day - creatDay + '天前'
}
} else {
const leftDay = (new Date().getTime() - new Date(creatTime).getTime()) / 1000 / 60 / 60 / 24;
if (leftDay < 28) {
if (leftDay < 1) {
timeResule = (leftDay * 24).toFixed(0) + '小时前'
} else {
timeResule = letDay.toFixed(0) + '天前'
}
} else {
timeResule = `${creatTime.substring(5, 7)}月${creatTime.substring(8, 10)}日 ${creatTime.substring(11, 16)}`
}
}
} else {
timeResule = `${creatTime.substring(0, 4)}年${creatTime.substring(5, 7)}月${creatTime.substring(8, 10)}日 ${creatTime.substring(11, 16)}`
}
return timeResule
}
export function padZero(val) {
return ("00" + val).slice(-2);
}