moment日期工具
# js moment 日期工具
/**
* moment时间工具类
*/
import moment from "moment";
let momentDateUtil = {};
/**
* 格式化日期
* @param date 日期
* @param fmt 格式化字符串 YYYY-MM-DD hh:mm:ss
*/
momentDateUtil.formatDate = (date = new Date(), fmt = "YYYY-MM-DD") => {
return date && moment(date).format(fmt);
};
/**
* 2、时间 加法 并 格式化时间
*
* @param date 需要格式化时间 默认当前时间
* @param addNum 加数
* @param addType 加法规则 默认 'days'
* @param fmt 格式化字符串 YYYY-MM-DD hh:mm:ss
*/
momentDateUtil.formatAddDate = function(
date = new Date(),
addNum = 1,
addType = "days",
fmt = "YYYY-MM-DD"
) {
return (
(date &&
moment(date)
.add(addNum, addType)
.format(fmt)) ||
""
);
};
/**
* 3、时间 减法 并 格式化时间
*
* @param date 需要格式化时间 默认当前时间
* @param subtractNum 减去的数
* @param subtractType 类型
* @param fmt 格式化字符串 YYYY-MM-DD hh:mm:ss
* @Description:
*/
momentDateUtil.formatSubtractDate = function(
date = new Date(),
subtractNum = 1,
subtractType = "days",
fmt = "YYYY-MM-DD"
) {
return (
(date &&
moment(date)
.subtract(subtractNum, subtractType)
.format(fmt)) ||
""
);
};
/**
* 4. 获取日期的差值 -- 年份
* @param 开始日期 startTime {日期} 小/远日期
* @param 结束日期 endTime {日期} 大/近日期
* @param 类型 type {years、months、weeks、days、hours、minutes 和 seconds}
* @return 数字
*/
momentDateUtil.getDateDiffNum = (startDate, endDate, type = "months") => {
if (!startDate || !endDate) return 0;
const num = moment(endDate).diff(moment(startDate), type);
return num;
};
export default momentDateUtil;
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
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
更新时间: 3/26/2021, 9:15:55 AM