public-holidays-cn 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/dist/2023.d.ts +9 -0
- package/dist/2024.d.ts +9 -0
- package/dist/2025.d.ts +9 -0
- package/dist/2026.d.ts +9 -0
- package/dist/async.d.ts +9 -0
- package/dist/common.d.ts +6 -2
- package/dist/index.d.ts +1 -2
- package/dist/public-holidays-cn.cjs.development.js +60 -26
- package/dist/public-holidays-cn.cjs.development.js.map +1 -1
- package/dist/public-holidays-cn.cjs.production.min.js +1 -1
- package/dist/public-holidays-cn.cjs.production.min.js.map +1 -1
- package/dist/public-holidays-cn.esm.js +60 -26
- package/dist/public-holidays-cn.esm.js.map +1 -1
- package/package.json +4 -1
- package/src/2023.ts +45 -0
- package/src/2024.ts +49 -0
- package/src/2025.ts +46 -0
- package/src/2026.ts +52 -0
- package/src/async.ts +137 -0
- package/src/common.ts +7 -2
- package/src/index.ts +10 -3
package/README.md
CHANGED
|
@@ -14,6 +14,8 @@ npm install public-holidays-cn
|
|
|
14
14
|
|
|
15
15
|
## Usage
|
|
16
16
|
|
|
17
|
+
Sync methods
|
|
18
|
+
|
|
17
19
|
```js
|
|
18
20
|
import { isHoliday, isWorkday } from 'public-holidays-cn';
|
|
19
21
|
|
|
@@ -22,6 +24,16 @@ isHoliday('2020-02-01'); // true
|
|
|
22
24
|
isWorkday('2020-03-16'); // true
|
|
23
25
|
```
|
|
24
26
|
|
|
27
|
+
Async methods
|
|
28
|
+
|
|
29
|
+
```js
|
|
30
|
+
import { isHolidayAsync, isWorkdayAsync } from 'public-holidays-cn/async';
|
|
31
|
+
|
|
32
|
+
isHolidayAsync('2020-02-01').then(res => console.log(res)); // true
|
|
33
|
+
|
|
34
|
+
isWorkdayAsync('2020-03-16').then(res => console.log(res)); // true
|
|
35
|
+
```
|
|
36
|
+
|
|
25
37
|
## License
|
|
26
38
|
|
|
27
39
|
MIT © Qingrong Ke
|
package/dist/2023.d.ts
ADDED
package/dist/2024.d.ts
ADDED
package/dist/2025.d.ts
ADDED
package/dist/2026.d.ts
ADDED
package/dist/async.d.ts
ADDED
package/dist/common.d.ts
CHANGED
|
@@ -8,5 +8,9 @@
|
|
|
8
8
|
* - 中秋节,放假1天(农历中秋当日)
|
|
9
9
|
* - 国庆节,放假3天(10月1日、2日、3日)
|
|
10
10
|
*/
|
|
11
|
-
declare const holidaysOfLaw: string[];
|
|
12
|
-
export
|
|
11
|
+
export declare const holidaysOfLaw: string[];
|
|
12
|
+
export declare type TimeValue = Date | string | number;
|
|
13
|
+
export interface HolidayResult {
|
|
14
|
+
holidays: string[];
|
|
15
|
+
workdays: string[];
|
|
16
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { TimeValue } from './common';
|
|
2
2
|
/**
|
|
3
3
|
* 判断是否为法定节假日,包括调休放假
|
|
4
4
|
*/
|
|
@@ -7,4 +7,3 @@ export declare function isHoliday(date: TimeValue): boolean;
|
|
|
7
7
|
* 判断是否是工作日,包括调休上班
|
|
8
8
|
*/
|
|
9
9
|
export declare function isWorkday(date: TimeValue): boolean;
|
|
10
|
-
export {};
|
|
@@ -2,6 +2,42 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* 2026年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
7
|
+
*/
|
|
8
|
+
var holidaysOf2026 = ['2026-01-01', '2026-01-02', '2026-01-03', '2026-02-15', '2026-02-16', '2026-02-17', '2026-02-18', '2026-02-19', '2026-02-20', '2026-02-21', '2026-02-22', '2026-02-23', '2026-04-04', '2026-04-05', '2026-04-06', '2026-05-01', '2026-05-02', '2026-05-03', '2026-05-04', '2026-05-05', '2026-06-19', '2026-06-20', '2026-06-21', '2026-09-25', '2026-09-26', '2026-09-27', '2026-10-01', '2026-10-02', '2026-10-03', '2026-10-04', '2026-10-05', '2026-10-06', '2026-10-07'];
|
|
9
|
+
/**
|
|
10
|
+
* 2026年,休息日上班日期
|
|
11
|
+
*/
|
|
12
|
+
var workdaysOf2026 = ['2026-01-04', '2026-02-14', '2026-02-28', '2026-05-09', '2026-09-20', '2026-10-10'];
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 2025年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
16
|
+
*/
|
|
17
|
+
var holidaysOf2025 = ['2025-01-01', '2025-01-28', '2025-01-29', '2025-01-30', '2025-01-31', '2025-02-01', '2025-02-02', '2025-02-03', '2025-02-04', '2025-04-04', '2025-04-05', '2025-04-06', '2025-05-01', '2025-05-02', '2025-05-03', '2025-05-04', '2025-05-05', '2025-05-31', '2025-06-01', '2025-06-02', '2025-10-01', '2025-10-02', '2025-10-03', '2025-10-04', '2025-10-05', '2025-10-06', '2025-10-07', '2025-10-08'];
|
|
18
|
+
/**
|
|
19
|
+
* 2025年,休息日上班日期
|
|
20
|
+
*/
|
|
21
|
+
var workdaysOf2025 = ['2025-01-26', '2025-02-08', '2025-04-27', '2025-09-28', '2025-10-11'];
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 2024年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
25
|
+
*/
|
|
26
|
+
var holidaysOf2024 = ['2024-01-01', '2024-02-10', '2024-02-11', '2024-02-12', '2024-02-13', '2024-02-14', '2024-02-15', '2024-02-16', '2024-02-17', '2024-04-04', '2024-04-05', '2024-04-06', '2024-05-01', '2024-05-02', '2024-05-03', '2024-05-04', '2024-05-05', '2024-06-10', '2024-09-15', '2024-09-16', '2024-09-17', '2024-10-01', '2024-10-02', '2024-10-03', '2024-10-04', '2024-10-05', '2024-10-06', '2024-10-07'];
|
|
27
|
+
/**
|
|
28
|
+
* 2024年,休息日上班日期
|
|
29
|
+
*/
|
|
30
|
+
var workdaysOf2024 = ['2024-02-04', '2024-02-18', '2024-04-07', '2024-04-28', '2024-05-11', '2024-09-14', '2024-09-29', '2024-10-12'];
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 2023年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
34
|
+
*/
|
|
35
|
+
var holidaysOf2023 = ['2023-01-01', '2023-01-21', '2023-01-22', '2023-01-23', '2023-01-24', '2023-01-25', '2023-01-26', '2023-01-27', '2023-04-05', '2023-04-29', '2023-04-30', '2023-05-01', '2023-05-02', '2023-05-03', '2023-06-22', '2023-06-23', '2023-06-24', '2023-09-29', '2023-09-30', '2023-10-01', '2023-10-02', '2023-10-03', '2023-10-04', '2023-10-05', '2023-10-06'];
|
|
36
|
+
/**
|
|
37
|
+
* 2023年,休息日上班日期
|
|
38
|
+
*/
|
|
39
|
+
var workdaysOf2023 = ['2023-01-28', '2023-01-29', '2023-04-23', '2023-05-06', '2023-06-25', '2023-10-07', '2023-10-08'];
|
|
40
|
+
|
|
5
41
|
/**
|
|
6
42
|
* 2022年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
7
43
|
*/
|
|
@@ -9,7 +45,6 @@ var holidaysOf2022 = ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-31', '2
|
|
|
9
45
|
/**
|
|
10
46
|
* 2022年,休息日上班日期
|
|
11
47
|
*/
|
|
12
|
-
|
|
13
48
|
var workdaysOf2022 = ['2022-01-29', '2022-01-30', '2022-04-02', '2022-04-24', '2022-05-07', '2022-10-08', '2022-10-09'];
|
|
14
49
|
|
|
15
50
|
/**
|
|
@@ -19,7 +54,6 @@ var holidaysOf2021 = ['2021-01-01', '2021-01-02', '2021-01-03', '2021-02-11', '2
|
|
|
19
54
|
/**
|
|
20
55
|
* 2021年,休息日上班日期
|
|
21
56
|
*/
|
|
22
|
-
|
|
23
57
|
var workdaysOf2021 = ['2021-02-07', '2021-02-20', '2021-04-25', '2021-05-08', '2021-09-18', '2021-09-26', '2021-10-09'];
|
|
24
58
|
|
|
25
59
|
/**
|
|
@@ -29,8 +63,8 @@ var holidaysOf2020 = ['2020-01-01', '2020-01-24', '2020-01-25', '2020-01-26', '2
|
|
|
29
63
|
/**
|
|
30
64
|
* 2020年,休息日上班日期
|
|
31
65
|
*/
|
|
32
|
-
|
|
33
|
-
|
|
66
|
+
var workdaysOf2020 = ['2020-01-19',
|
|
67
|
+
// '2020-02-01', // 星期六,原本上班,延长春节假期后改为放假
|
|
34
68
|
'2020-04-26', '2020-05-09', '2020-06-28', '2020-09-27', '2020-10-10'];
|
|
35
69
|
|
|
36
70
|
/**
|
|
@@ -40,7 +74,6 @@ var holidaysOf2019 = ['2019-01-01', '2019-02-04', '2019-02-05', '2019-02-06', '2
|
|
|
40
74
|
/**
|
|
41
75
|
* 2019年,休息日上班日期
|
|
42
76
|
*/
|
|
43
|
-
|
|
44
77
|
var workdaysOf2019 = ['2019-02-02', '2019-02-03', '2019-04-28', '2019-05-05', '2019-09-29', '2019-10-12'];
|
|
45
78
|
|
|
46
79
|
/**
|
|
@@ -50,7 +83,6 @@ var holidaysOf2018 = ['2018-01-01', '2018-02-15', '2018-02-16', '2018-02-17', '2
|
|
|
50
83
|
/**
|
|
51
84
|
* 2018年,休息日上班日期
|
|
52
85
|
*/
|
|
53
|
-
|
|
54
86
|
var workdaysOf2018 = ['2018-02-11', '2018-02-24', '2018-04-08', '2018-04-28', '2018-09-29', '2018-09-30', '2018-12-29'];
|
|
55
87
|
|
|
56
88
|
/**
|
|
@@ -60,7 +92,6 @@ var holidaysOf2017 = ['2017-01-01', '2017-01-02', '2017-01-27', '2017-01-28', '2
|
|
|
60
92
|
/**
|
|
61
93
|
* 2017年,休息日上班日期
|
|
62
94
|
*/
|
|
63
|
-
|
|
64
95
|
var workdaysOf2017 = ['2017-01-22', '2017-02-04', '2017-04-01', '2017-05-27', '2017-09-30'];
|
|
65
96
|
|
|
66
97
|
/**
|
|
@@ -70,7 +101,6 @@ var holidaysOf2016 = ['2016-01-01', '2016-02-07', '2016-02-08', '2016-02-09', '2
|
|
|
70
101
|
/**
|
|
71
102
|
* 2016年,休息日上班日期
|
|
72
103
|
*/
|
|
73
|
-
|
|
74
104
|
var workdaysOf2016 = ['2016-02-06', '2016-02-14', '2016-06-12', '2016-09-18', '2016-10-08', '2016-10-09'];
|
|
75
105
|
|
|
76
106
|
/**
|
|
@@ -85,7 +115,19 @@ var workdaysOf2016 = ['2016-02-06', '2016-02-14', '2016-06-12', '2016-09-18', '2
|
|
|
85
115
|
*/
|
|
86
116
|
var holidaysOfLaw = ['01-01', '05-01', '10-01', '10-02', '10-03'];
|
|
87
117
|
|
|
88
|
-
var holidayMap = /*#__PURE__*/new Map([[
|
|
118
|
+
var holidayMap = /*#__PURE__*/new Map([[2026, {
|
|
119
|
+
holidays: holidaysOf2026,
|
|
120
|
+
workdays: workdaysOf2026
|
|
121
|
+
}], [2025, {
|
|
122
|
+
holidays: holidaysOf2025,
|
|
123
|
+
workdays: workdaysOf2025
|
|
124
|
+
}], [2024, {
|
|
125
|
+
holidays: holidaysOf2024,
|
|
126
|
+
workdays: workdaysOf2024
|
|
127
|
+
}], [2023, {
|
|
128
|
+
holidays: holidaysOf2023,
|
|
129
|
+
workdays: workdaysOf2023
|
|
130
|
+
}], [2022, {
|
|
89
131
|
holidays: holidaysOf2022,
|
|
90
132
|
workdays: workdaysOf2022
|
|
91
133
|
}], [2021, {
|
|
@@ -110,53 +152,45 @@ var holidayMap = /*#__PURE__*/new Map([[2022, {
|
|
|
110
152
|
/**
|
|
111
153
|
* 判断是否为法定节假日,包括调休放假
|
|
112
154
|
*/
|
|
113
|
-
|
|
114
155
|
function isHoliday(date) {
|
|
115
156
|
var dateWrapper = new Date(date);
|
|
116
157
|
var year = dateWrapper.getFullYear();
|
|
117
158
|
var month = (dateWrapper.getMonth() + 1).toString(10).padStart(2, '0');
|
|
118
159
|
var dayOfMonth = dateWrapper.getDate().toString(10).padStart(2, '0');
|
|
119
160
|
var dateFormatted = year + "-" + month + "-" + dayOfMonth; // 'YYYY-MM-DD'
|
|
120
|
-
|
|
121
161
|
var holidayMapValue;
|
|
122
|
-
|
|
123
162
|
if (holidayMap.has(year) && (holidayMapValue = holidayMap.get(year))) {
|
|
124
163
|
var _holidayMapValue = holidayMapValue,
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
164
|
+
_holidayMapValue$holi = _holidayMapValue.holidays,
|
|
165
|
+
holidays = _holidayMapValue$holi === void 0 ? [] : _holidayMapValue$holi,
|
|
166
|
+
_holidayMapValue$work = _holidayMapValue.workdays,
|
|
167
|
+
workdays = _holidayMapValue$work === void 0 ? [] : _holidayMapValue$work;
|
|
168
|
+
// 法定放假
|
|
130
169
|
if (holidays.includes(dateFormatted)) {
|
|
131
170
|
return true;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
|
|
171
|
+
}
|
|
172
|
+
// 法定上班
|
|
135
173
|
if (workdays.includes(dateFormatted)) {
|
|
136
174
|
return false;
|
|
137
175
|
}
|
|
138
176
|
} else {
|
|
139
177
|
var monthDay = month + "-" + dayOfMonth; // 'MM-DD'
|
|
140
178
|
// 法定公历假期
|
|
141
|
-
|
|
142
179
|
if (holidaysOfLaw.includes(monthDay)) {
|
|
143
180
|
return true;
|
|
144
181
|
} else {
|
|
145
182
|
console.log("[public-holidays-cn] \u6682\u65F6\u65E0\u6CD5\u51C6\u786E\u5224\u65AD " + year + " \u5E74\u5EA6\u7684\u6CD5\u5B9A\u8282\u5047\u65E5");
|
|
146
183
|
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
|
|
184
|
+
}
|
|
185
|
+
// 正常双休日
|
|
150
186
|
if ([0, 6].includes(dateWrapper.getDay())) {
|
|
151
187
|
return true;
|
|
152
188
|
}
|
|
153
|
-
|
|
154
189
|
return false;
|
|
155
190
|
}
|
|
156
191
|
/**
|
|
157
192
|
* 判断是否是工作日,包括调休上班
|
|
158
193
|
*/
|
|
159
|
-
|
|
160
194
|
function isWorkday(date) {
|
|
161
195
|
return !isHoliday(date);
|
|
162
196
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-holidays-cn.cjs.development.js","sources":["../src/2022.ts","../src/2021.ts","../src/2020.ts","../src/2019.ts","../src/2018.ts","../src/2017.ts","../src/2016.ts","../src/common.ts","../src/index.ts"],"sourcesContent":["/**\n * 2022年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2022 = [\n '2022-01-01', // 元旦(3天)\n '2022-01-02',\n '2022-01-03',\n '2022-01-31', // 春节(7天)\n '2022-02-01',\n '2022-02-02',\n '2022-02-03',\n '2022-02-04',\n '2022-02-05',\n '2022-02-06',\n '2022-04-03', // 清明节(3天)\n '2022-04-04',\n '2022-04-05',\n '2022-04-30', // 劳动节(5天)\n '2022-05-01',\n '2022-05-02',\n '2022-05-03',\n '2022-05-04',\n '2022-06-03', // 端午节(3天)\n '2022-06-04',\n '2022-06-05',\n '2022-09-10', // 中秋节(3天)\n '2022-09-11',\n '2022-09-12',\n '2022-10-01', // 国庆节(7天)\n '2022-10-02',\n '2022-10-03',\n '2022-10-04',\n '2022-10-05',\n '2022-10-06',\n '2022-10-07',\n];\n\n/**\n * 2022年,休息日上班日期\n */\nconst workdaysOf2022 = [\n '2022-01-29', // 星期六\n '2022-01-30', // 星期日\n '2022-04-02', // 星期六\n '2022-04-24', // 星期日\n '2022-05-07', // 星期六\n '2022-10-08', // 星期六\n '2022-10-09', // 星期日\n];\n\nexport { holidaysOf2022, workdaysOf2022 };\n","/**\n * 2021年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2021 = [\n '2021-01-01', // 元旦(3天)\n '2021-01-02',\n '2021-01-03',\n '2021-02-11', // 春节(7天)\n '2021-02-12',\n '2021-02-13',\n '2021-02-14',\n '2021-02-15',\n '2021-02-16',\n '2021-02-17',\n '2021-04-03', // 清明节(3天)\n '2021-04-04',\n '2021-04-05',\n '2021-05-01', // 劳动节(5天)\n '2021-05-02',\n '2021-05-03',\n '2021-05-04',\n '2021-05-05',\n '2021-06-12', // 端午节(3天)\n '2021-06-13',\n '2021-06-14',\n '2021-09-19', // 中秋节(3天)\n '2021-09-20',\n '2021-09-21',\n '2021-10-01', // 国庆节(7天)\n '2021-10-02',\n '2021-10-03',\n '2021-10-04',\n '2021-10-05',\n '2021-10-06',\n '2021-10-07',\n];\n\n/**\n * 2021年,休息日上班日期\n */\nconst workdaysOf2021 = [\n '2021-02-07', // 星期日\n '2021-02-20', // 星期六\n '2021-04-25', // 星期日\n '2021-05-08', // 星期六\n '2021-09-18', // 星期六\n '2021-09-26', // 星期日\n '2021-10-09', // 星期六\n];\n\nexport { holidaysOf2021, workdaysOf2021 };\n","/**\n * 2020年元旦、春节、清明节、劳动节、端午节、国庆节和中秋节放假调休日期\n */\nconst holidaysOf2020 = [\n '2020-01-01', // 元旦(1天)\n '2020-01-24', // 春节(7天)\n '2020-01-25',\n '2020-01-26',\n '2020-01-27',\n '2020-01-28',\n '2020-01-29',\n '2020-01-30',\n '2020-01-31', // 春节(延长3天)\n '2020-02-01',\n '2020-02-02',\n '2020-04-04', // 清明节(3天)\n '2020-04-05',\n '2020-04-06',\n '2020-05-01', // 劳动节(5天)\n '2020-05-02',\n '2020-05-03',\n '2020-05-04',\n '2020-05-05',\n '2020-06-25', // 端午节(3天)\n '2020-06-26',\n '2020-06-27',\n '2020-10-01', // 国庆节、中秋节(8天)\n '2020-10-02',\n '2020-10-03',\n '2020-10-04',\n '2020-10-05',\n '2020-10-06',\n '2020-10-07',\n '2020-10-08',\n];\n\n/**\n * 2020年,休息日上班日期\n */\nconst workdaysOf2020 = [\n '2020-01-19', // 星期日\n // '2020-02-01', // 星期六,原本上班,延长春节假期后改为放假\n '2020-04-26', // 星期日\n '2020-05-09', // 星期六\n '2020-06-28', // 星期日\n '2020-09-27', // 星期日\n '2020-10-10', // 星期六\n];\n\nexport { holidaysOf2020, workdaysOf2020 };\n","/**\n * 2019年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2019 = [\n '2019-01-01', // 元旦(3天)\n '2019-02-04', // 春节(7天)\n '2019-02-05',\n '2019-02-06',\n '2019-02-07',\n '2019-02-08',\n '2019-02-09',\n '2019-02-10',\n '2019-04-05', // 清明节,与周末连休\n '2019-05-01', // 劳动节(4天)\n '2019-05-02',\n '2019-05-03',\n '2019-05-04',\n '2019-06-07', // 端午节,与周末连休\n '2019-09-13', // 中秋节,与周末连休\n '2019-10-01', // 国庆节(7天)\n '2019-10-02',\n '2019-10-03',\n '2019-10-04',\n '2019-10-05',\n '2019-10-06',\n '2019-10-07',\n];\n\n/**\n * 2019年,休息日上班日期\n */\nconst workdaysOf2019 = [\n '2019-02-02', // 星期六\n '2019-02-03', // 星期日\n '2019-04-28', // 星期日\n '2019-05-05', // 星期日\n '2019-09-29', // 星期日\n '2019-10-12', // 星期六\n];\n\nexport { holidaysOf2019, workdaysOf2019 };\n","/**\n * 2018年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2018 = [\n '2018-01-01', // 元旦,与周末连休\n '2018-02-15', // 春节(7天)\n '2018-02-16',\n '2018-02-17',\n '2018-02-18',\n '2018-02-19',\n '2018-02-20',\n '2018-02-21',\n '2018-04-05',\n '2018-04-06',\n '2018-04-07',\n '2018-04-29', // 劳动节(3天)\n '2018-04-30',\n '2018-05-01',\n '2018-06-18', // 端午节,与周末连休\n '2018-09-24', // 中秋节,与周末连休\n '2018-10-01', // 国庆节(7天)\n '2018-10-02',\n '2018-10-03',\n '2018-10-04',\n '2018-10-05',\n '2018-10-06',\n '2018-10-07',\n '2018-12-30', // 元旦(3天)\n '2018-12-31',\n];\n\n/**\n * 2018年,休息日上班日期\n */\nconst workdaysOf2018 = [\n '2018-02-11', // 星期日\n '2018-02-24', // 星期六\n '2018-04-08', // 星期日\n '2018-04-28', // 星期六\n '2018-09-29', // 星期六\n '2018-09-30', // 星期日\n '2018-12-29', // 星期六\n];\n\nexport { holidaysOf2018, workdaysOf2018 };\n","/**\n * 2017年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2017 = [\n '2017-01-01', // 元旦\n '2017-01-02', // 补休\n '2017-01-27', // 春节(7天)\n '2017-01-28',\n '2017-01-29',\n '2017-01-30',\n '2017-01-31',\n '2017-02-01',\n '2017-02-02',\n '2017-04-02', // 清明节(3天)\n '2017-04-03',\n '2017-04-04',\n '2017-05-01', // 劳动节,与周末连休\n '2017-05-28', // 端午节(3天)\n '2017-05-29',\n '2017-05-30',\n '2017-10-01', // 中秋节、国庆节(8天)\n '2017-10-02',\n '2017-10-03',\n '2017-10-04',\n '2017-10-05',\n '2017-10-06',\n '2017-10-07',\n '2017-10-08',\n];\n\n/**\n * 2017年,休息日上班日期\n */\nconst workdaysOf2017 = [\n '2017-01-22', // 星期日\n '2017-02-04', // 星期六\n '2017-04-01', // 星期六\n '2017-05-27', // 星期六\n '2017-09-30', // 星期六\n];\n\nexport { holidaysOf2017, workdaysOf2017 };\n","/**\n * 2016年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2016 = [\n '2016-01-01', // 元旦,与周末连休\n '2016-02-07', // 春节(7天)\n '2016-02-08',\n '2016-02-09',\n '2016-02-10',\n '2016-02-11',\n '2016-02-12',\n '2016-02-13',\n '2016-04-04', // 清明节,与周末连休\n '2016-05-01', // 劳动节\n '2016-05-02', // 补休\n '2016-06-09', // 端午节(3天)\n '2016-06-10',\n '2016-06-11',\n '2016-09-15', // 中秋节(3天)\n '2016-09-16',\n '2016-09-17',\n '2016-10-01', // 国庆节(7天)\n '2016-10-02',\n '2016-10-03',\n '2016-10-04',\n '2016-10-05',\n '2016-10-06',\n '2016-10-07',\n];\n\n/**\n * 2016年,休息日上班日期\n */\nconst workdaysOf2016 = [\n '2016-02-06', // 星期六\n '2016-02-14', // 星期日\n '2016-06-12', // 星期日\n '2016-09-18', // 星期日\n '2016-10-08', // 星期六\n '2016-10-09', // 星期日\n];\n\nexport { holidaysOf2016, workdaysOf2016 };\n","/**\n * 全国年节及纪念日放假办法假期\n * - 新年,放假1天(1月1日)\n * - 春节,放假3天(农历正月初一、初二、初三)\n * - 清明节,放假1天(农历清明当日)\n * - 劳动节,放假1天(5月1日)\n * - 端午节,放假1天(农历端午当日)\n * - 中秋节,放假1天(农历中秋当日)\n * - 国庆节,放假3天(10月1日、2日、3日)\n */\nconst holidaysOfLaw = ['01-01', '05-01', '10-01', '10-02', '10-03'];\n\nexport { holidaysOfLaw };\n","import { holidaysOf2022, workdaysOf2022 } from './2022';\nimport { holidaysOf2021, workdaysOf2021 } from './2021';\nimport { holidaysOf2020, workdaysOf2020 } from './2020';\nimport { holidaysOf2019, workdaysOf2019 } from './2019';\nimport { holidaysOf2018, workdaysOf2018 } from './2018';\nimport { holidaysOf2017, workdaysOf2017 } from './2017';\nimport { holidaysOf2016, workdaysOf2016 } from './2016';\nimport { holidaysOfLaw } from './common';\n\ntype TimeValue = Date | string | number;\n\nconst holidayMap = new Map([\n [2022, { holidays: holidaysOf2022, workdays: workdaysOf2022 }],\n [2021, { holidays: holidaysOf2021, workdays: workdaysOf2021 }],\n [2020, { holidays: holidaysOf2020, workdays: workdaysOf2020 }],\n [2019, { holidays: holidaysOf2019, workdays: workdaysOf2019 }],\n [2018, { holidays: holidaysOf2018, workdays: workdaysOf2018 }],\n [2017, { holidays: holidaysOf2017, workdays: workdaysOf2017 }],\n [2016, { holidays: holidaysOf2016, workdays: workdaysOf2016 }],\n]);\n\n/**\n * 判断是否为法定节假日,包括调休放假\n */\nexport function isHoliday(date: TimeValue): boolean {\n const dateWrapper = new Date(date);\n const year = dateWrapper.getFullYear();\n const month = (dateWrapper.getMonth() + 1).toString(10).padStart(2, '0');\n const dayOfMonth = dateWrapper\n .getDate()\n .toString(10)\n .padStart(2, '0');\n const dateFormatted = `${year}-${month}-${dayOfMonth}`; // 'YYYY-MM-DD'\n let holidayMapValue: ReturnType<typeof holidayMap.get>;\n if (holidayMap.has(year) && (holidayMapValue = holidayMap.get(year))) {\n const { holidays = [], workdays = [] } = holidayMapValue;\n // 法定放假\n if (holidays.includes(dateFormatted)) {\n return true;\n }\n // 法定上班\n if (workdays.includes(dateFormatted)) {\n return false;\n }\n } else {\n const monthDay = `${month}-${dayOfMonth}`; // 'MM-DD'\n // 法定公历假期\n if (holidaysOfLaw.includes(monthDay)) {\n return true;\n } else {\n console.log(\n `[public-holidays-cn] 暂时无法准确判断 ${year} 年度的法定节假日`\n );\n }\n }\n // 正常双休日\n if ([0, 6].includes(dateWrapper.getDay())) {\n return true;\n }\n return false;\n}\n\n/**\n * 判断是否是工作日,包括调休上班\n */\nexport function isWorkday(date: TimeValue): boolean {\n return !isHoliday(date);\n}\n"],"names":["holidaysOf2022","workdaysOf2022","holidaysOf2021","workdaysOf2021","holidaysOf2020","workdaysOf2020","holidaysOf2019","workdaysOf2019","holidaysOf2018","workdaysOf2018","holidaysOf2017","workdaysOf2017","holidaysOf2016","workdaysOf2016","holidaysOfLaw","holidayMap","Map","holidays","workdays","isHoliday","date","dateWrapper","Date","year","getFullYear","month","getMonth","toString","padStart","dayOfMonth","getDate","dateFormatted","holidayMapValue","has","get","includes","monthDay","console","log","getDay","isWorkday"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"public-holidays-cn.cjs.development.js","sources":["../src/2026.ts","../src/2025.ts","../src/2024.ts","../src/2023.ts","../src/2022.ts","../src/2021.ts","../src/2020.ts","../src/2019.ts","../src/2018.ts","../src/2017.ts","../src/2016.ts","../src/common.ts","../src/index.ts"],"sourcesContent":["/**\n * 2026年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2026 = [\n '2026-01-01', // 元旦(3天)\n '2026-01-02',\n '2026-01-03',\n '2026-02-15', // 春节(9天)\n '2026-02-16',\n '2026-02-17',\n '2026-02-18',\n '2026-02-19',\n '2026-02-20',\n '2026-02-21',\n '2026-02-22',\n '2026-02-23',\n '2026-04-04', // 清明节(3天)\n '2026-04-05',\n '2026-04-06',\n '2026-05-01', // 劳动节(5天)\n '2026-05-02',\n '2026-05-03',\n '2026-05-04',\n '2026-05-05',\n '2026-06-19', // 端午节(3天)\n '2026-06-20',\n '2026-06-21',\n '2026-09-25', // 中秋节(3天)\n '2026-09-26',\n '2026-09-27',\n '2026-10-01', // 国庆节(7天)\n '2026-10-02',\n '2026-10-03',\n '2026-10-04',\n '2026-10-05',\n '2026-10-06',\n '2026-10-07',\n];\n\n/**\n * 2026年,休息日上班日期\n */\nconst workdaysOf2026 = [\n '2026-01-04', // 周日\n '2026-02-14', // 周六\n '2026-02-28', // 周六\n '2026-05-09', // 周六\n '2026-09-20', // 周日\n '2026-10-10', // 周六\n];\n\nexport { holidaysOf2026, workdaysOf2026 };\n","/**\n * 2025年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2025 = [\n '2025-01-01', // 元旦(1天)\n '2025-01-28', // 春节(8天)\n '2025-01-29',\n '2025-01-30',\n '2025-01-31',\n '2025-02-01',\n '2025-02-02',\n '2025-02-03',\n '2025-02-04',\n '2025-04-04', // 清明节(3天)\n '2025-04-05',\n '2025-04-06',\n '2025-05-01', // 劳动节(5天)\n '2025-05-02',\n '2025-05-03',\n '2025-05-04',\n '2025-05-05',\n '2025-05-31', // 端午节(3天)\n '2025-06-01',\n '2025-06-02',\n '2025-10-01', // 国庆节、中秋节(8天)\n '2025-10-02',\n '2025-10-03',\n '2025-10-04',\n '2025-10-05',\n '2025-10-06',\n '2025-10-07',\n '2025-10-08',\n];\n\n/**\n * 2025年,休息日上班日期\n */\nconst workdaysOf2025 = [\n '2025-01-26', // 周日\n '2025-02-08', // 周六\n '2025-04-27', // 周日\n '2025-09-28', // 周日\n '2025-10-11', // 周六\n];\n\nexport { holidaysOf2025, workdaysOf2025 };\n","/**\n * 2024年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2024 = [\n '2024-01-01', // 元旦(1天)\n '2024-02-10', // 春节(8天)\n '2024-02-11',\n '2024-02-12',\n '2024-02-13',\n '2024-02-14',\n '2024-02-15',\n '2024-02-16',\n '2024-02-17',\n '2024-04-04', // 清明节(3天)\n '2024-04-05',\n '2024-04-06',\n '2024-05-01', // 劳动节(5天)\n '2024-05-02',\n '2024-05-03',\n '2024-05-04',\n '2024-05-05',\n '2024-06-10', // 端午节(1天)\n '2024-09-15', // 中秋节(3天)\n '2024-09-16',\n '2024-09-17',\n '2024-10-01', // 国庆节(7天)\n '2024-10-02',\n '2024-10-03',\n '2024-10-04',\n '2024-10-05',\n '2024-10-06',\n '2024-10-07',\n];\n\n/**\n * 2024年,休息日上班日期\n */\nconst workdaysOf2024 = [\n '2024-02-04', // 星期日\n '2024-02-18', // 星期日\n '2024-04-07', // 星期日\n '2024-04-28', // 星期日\n '2024-05-11', // 星期六\n '2024-09-14', // 星期六\n '2024-09-29', // 星期日\n '2024-10-12', // 星期六\n];\n\nexport { holidaysOf2024, workdaysOf2024 };\n","/**\n * 2023年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2023 = [\n '2023-01-01', // 元旦(1天)\n '2023-01-21', // 春节(7天)\n '2023-01-22',\n '2023-01-23',\n '2023-01-24',\n '2023-01-25',\n '2023-01-26',\n '2023-01-27',\n '2023-04-05', // 清明节(1天)\n '2023-04-29',\n '2023-04-30',\n '2023-05-01', // 劳动节(5天)\n '2023-05-02',\n '2023-05-03',\n '2023-06-22', // 端午节(3天)\n '2023-06-23',\n '2023-06-24',\n '2023-09-29', // 国庆节、中秋节(8天)\n '2023-09-30',\n '2023-10-01',\n '2023-10-02',\n '2023-10-03',\n '2023-10-04',\n '2023-10-05',\n '2023-10-06',\n];\n\n/**\n * 2023年,休息日上班日期\n */\nconst workdaysOf2023 = [\n '2023-01-28', // 星期六\n '2023-01-29', // 星期日\n '2023-04-23', // 星期日\n '2023-05-06', // 星期六\n '2023-06-25', // 星期日\n '2023-10-07', // 星期六\n '2023-10-08', // 星期日\n];\n\nexport { holidaysOf2023, workdaysOf2023 };\n","/**\n * 2022年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2022 = [\n '2022-01-01', // 元旦(3天)\n '2022-01-02',\n '2022-01-03',\n '2022-01-31', // 春节(7天)\n '2022-02-01',\n '2022-02-02',\n '2022-02-03',\n '2022-02-04',\n '2022-02-05',\n '2022-02-06',\n '2022-04-03', // 清明节(3天)\n '2022-04-04',\n '2022-04-05',\n '2022-04-30', // 劳动节(5天)\n '2022-05-01',\n '2022-05-02',\n '2022-05-03',\n '2022-05-04',\n '2022-06-03', // 端午节(3天)\n '2022-06-04',\n '2022-06-05',\n '2022-09-10', // 中秋节(3天)\n '2022-09-11',\n '2022-09-12',\n '2022-10-01', // 国庆节(7天)\n '2022-10-02',\n '2022-10-03',\n '2022-10-04',\n '2022-10-05',\n '2022-10-06',\n '2022-10-07',\n];\n\n/**\n * 2022年,休息日上班日期\n */\nconst workdaysOf2022 = [\n '2022-01-29', // 星期六\n '2022-01-30', // 星期日\n '2022-04-02', // 星期六\n '2022-04-24', // 星期日\n '2022-05-07', // 星期六\n '2022-10-08', // 星期六\n '2022-10-09', // 星期日\n];\n\nexport { holidaysOf2022, workdaysOf2022 };\n","/**\n * 2021年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2021 = [\n '2021-01-01', // 元旦(3天)\n '2021-01-02',\n '2021-01-03',\n '2021-02-11', // 春节(7天)\n '2021-02-12',\n '2021-02-13',\n '2021-02-14',\n '2021-02-15',\n '2021-02-16',\n '2021-02-17',\n '2021-04-03', // 清明节(3天)\n '2021-04-04',\n '2021-04-05',\n '2021-05-01', // 劳动节(5天)\n '2021-05-02',\n '2021-05-03',\n '2021-05-04',\n '2021-05-05',\n '2021-06-12', // 端午节(3天)\n '2021-06-13',\n '2021-06-14',\n '2021-09-19', // 中秋节(3天)\n '2021-09-20',\n '2021-09-21',\n '2021-10-01', // 国庆节(7天)\n '2021-10-02',\n '2021-10-03',\n '2021-10-04',\n '2021-10-05',\n '2021-10-06',\n '2021-10-07',\n];\n\n/**\n * 2021年,休息日上班日期\n */\nconst workdaysOf2021 = [\n '2021-02-07', // 星期日\n '2021-02-20', // 星期六\n '2021-04-25', // 星期日\n '2021-05-08', // 星期六\n '2021-09-18', // 星期六\n '2021-09-26', // 星期日\n '2021-10-09', // 星期六\n];\n\nexport { holidaysOf2021, workdaysOf2021 };\n","/**\n * 2020年元旦、春节、清明节、劳动节、端午节、国庆节和中秋节放假调休日期\n */\nconst holidaysOf2020 = [\n '2020-01-01', // 元旦(1天)\n '2020-01-24', // 春节(7天)\n '2020-01-25',\n '2020-01-26',\n '2020-01-27',\n '2020-01-28',\n '2020-01-29',\n '2020-01-30',\n '2020-01-31', // 春节(延长3天)\n '2020-02-01',\n '2020-02-02',\n '2020-04-04', // 清明节(3天)\n '2020-04-05',\n '2020-04-06',\n '2020-05-01', // 劳动节(5天)\n '2020-05-02',\n '2020-05-03',\n '2020-05-04',\n '2020-05-05',\n '2020-06-25', // 端午节(3天)\n '2020-06-26',\n '2020-06-27',\n '2020-10-01', // 国庆节、中秋节(8天)\n '2020-10-02',\n '2020-10-03',\n '2020-10-04',\n '2020-10-05',\n '2020-10-06',\n '2020-10-07',\n '2020-10-08',\n];\n\n/**\n * 2020年,休息日上班日期\n */\nconst workdaysOf2020 = [\n '2020-01-19', // 星期日\n // '2020-02-01', // 星期六,原本上班,延长春节假期后改为放假\n '2020-04-26', // 星期日\n '2020-05-09', // 星期六\n '2020-06-28', // 星期日\n '2020-09-27', // 星期日\n '2020-10-10', // 星期六\n];\n\nexport { holidaysOf2020, workdaysOf2020 };\n","/**\n * 2019年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2019 = [\n '2019-01-01', // 元旦(3天)\n '2019-02-04', // 春节(7天)\n '2019-02-05',\n '2019-02-06',\n '2019-02-07',\n '2019-02-08',\n '2019-02-09',\n '2019-02-10',\n '2019-04-05', // 清明节,与周末连休\n '2019-05-01', // 劳动节(4天)\n '2019-05-02',\n '2019-05-03',\n '2019-05-04',\n '2019-06-07', // 端午节,与周末连休\n '2019-09-13', // 中秋节,与周末连休\n '2019-10-01', // 国庆节(7天)\n '2019-10-02',\n '2019-10-03',\n '2019-10-04',\n '2019-10-05',\n '2019-10-06',\n '2019-10-07',\n];\n\n/**\n * 2019年,休息日上班日期\n */\nconst workdaysOf2019 = [\n '2019-02-02', // 星期六\n '2019-02-03', // 星期日\n '2019-04-28', // 星期日\n '2019-05-05', // 星期日\n '2019-09-29', // 星期日\n '2019-10-12', // 星期六\n];\n\nexport { holidaysOf2019, workdaysOf2019 };\n","/**\n * 2018年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2018 = [\n '2018-01-01', // 元旦,与周末连休\n '2018-02-15', // 春节(7天)\n '2018-02-16',\n '2018-02-17',\n '2018-02-18',\n '2018-02-19',\n '2018-02-20',\n '2018-02-21',\n '2018-04-05',\n '2018-04-06',\n '2018-04-07',\n '2018-04-29', // 劳动节(3天)\n '2018-04-30',\n '2018-05-01',\n '2018-06-18', // 端午节,与周末连休\n '2018-09-24', // 中秋节,与周末连休\n '2018-10-01', // 国庆节(7天)\n '2018-10-02',\n '2018-10-03',\n '2018-10-04',\n '2018-10-05',\n '2018-10-06',\n '2018-10-07',\n '2018-12-30', // 元旦(3天)\n '2018-12-31',\n];\n\n/**\n * 2018年,休息日上班日期\n */\nconst workdaysOf2018 = [\n '2018-02-11', // 星期日\n '2018-02-24', // 星期六\n '2018-04-08', // 星期日\n '2018-04-28', // 星期六\n '2018-09-29', // 星期六\n '2018-09-30', // 星期日\n '2018-12-29', // 星期六\n];\n\nexport { holidaysOf2018, workdaysOf2018 };\n","/**\n * 2017年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2017 = [\n '2017-01-01', // 元旦\n '2017-01-02', // 补休\n '2017-01-27', // 春节(7天)\n '2017-01-28',\n '2017-01-29',\n '2017-01-30',\n '2017-01-31',\n '2017-02-01',\n '2017-02-02',\n '2017-04-02', // 清明节(3天)\n '2017-04-03',\n '2017-04-04',\n '2017-05-01', // 劳动节,与周末连休\n '2017-05-28', // 端午节(3天)\n '2017-05-29',\n '2017-05-30',\n '2017-10-01', // 中秋节、国庆节(8天)\n '2017-10-02',\n '2017-10-03',\n '2017-10-04',\n '2017-10-05',\n '2017-10-06',\n '2017-10-07',\n '2017-10-08',\n];\n\n/**\n * 2017年,休息日上班日期\n */\nconst workdaysOf2017 = [\n '2017-01-22', // 星期日\n '2017-02-04', // 星期六\n '2017-04-01', // 星期六\n '2017-05-27', // 星期六\n '2017-09-30', // 星期六\n];\n\nexport { holidaysOf2017, workdaysOf2017 };\n","/**\n * 2016年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2016 = [\n '2016-01-01', // 元旦,与周末连休\n '2016-02-07', // 春节(7天)\n '2016-02-08',\n '2016-02-09',\n '2016-02-10',\n '2016-02-11',\n '2016-02-12',\n '2016-02-13',\n '2016-04-04', // 清明节,与周末连休\n '2016-05-01', // 劳动节\n '2016-05-02', // 补休\n '2016-06-09', // 端午节(3天)\n '2016-06-10',\n '2016-06-11',\n '2016-09-15', // 中秋节(3天)\n '2016-09-16',\n '2016-09-17',\n '2016-10-01', // 国庆节(7天)\n '2016-10-02',\n '2016-10-03',\n '2016-10-04',\n '2016-10-05',\n '2016-10-06',\n '2016-10-07',\n];\n\n/**\n * 2016年,休息日上班日期\n */\nconst workdaysOf2016 = [\n '2016-02-06', // 星期六\n '2016-02-14', // 星期日\n '2016-06-12', // 星期日\n '2016-09-18', // 星期日\n '2016-10-08', // 星期六\n '2016-10-09', // 星期日\n];\n\nexport { holidaysOf2016, workdaysOf2016 };\n","/**\n * 全国年节及纪念日放假办法假期\n * - 新年,放假1天(1月1日)\n * - 春节,放假3天(农历正月初一、初二、初三)\n * - 清明节,放假1天(农历清明当日)\n * - 劳动节,放假1天(5月1日)\n * - 端午节,放假1天(农历端午当日)\n * - 中秋节,放假1天(农历中秋当日)\n * - 国庆节,放假3天(10月1日、2日、3日)\n */\nexport const holidaysOfLaw = ['01-01', '05-01', '10-01', '10-02', '10-03'];\n\nexport type TimeValue = Date | string | number;\n\nexport interface HolidayResult {\n holidays: string[];\n workdays: string[];\n}\n","import { holidaysOf2026, workdaysOf2026 } from './2026';\nimport { holidaysOf2025, workdaysOf2025 } from './2025';\nimport { holidaysOf2024, workdaysOf2024 } from './2024';\nimport { holidaysOf2023, workdaysOf2023 } from './2023';\nimport { holidaysOf2022, workdaysOf2022 } from './2022';\nimport { holidaysOf2021, workdaysOf2021 } from './2021';\nimport { holidaysOf2020, workdaysOf2020 } from './2020';\nimport { holidaysOf2019, workdaysOf2019 } from './2019';\nimport { holidaysOf2018, workdaysOf2018 } from './2018';\nimport { holidaysOf2017, workdaysOf2017 } from './2017';\nimport { holidaysOf2016, workdaysOf2016 } from './2016';\nimport { holidaysOfLaw } from './common';\nimport type { TimeValue } from './common';\n\nconst holidayMap = new Map([\n [2026, { holidays: holidaysOf2026, workdays: workdaysOf2026 }],\n [2025, { holidays: holidaysOf2025, workdays: workdaysOf2025 }],\n [2024, { holidays: holidaysOf2024, workdays: workdaysOf2024 }],\n [2023, { holidays: holidaysOf2023, workdays: workdaysOf2023 }],\n [2022, { holidays: holidaysOf2022, workdays: workdaysOf2022 }],\n [2021, { holidays: holidaysOf2021, workdays: workdaysOf2021 }],\n [2020, { holidays: holidaysOf2020, workdays: workdaysOf2020 }],\n [2019, { holidays: holidaysOf2019, workdays: workdaysOf2019 }],\n [2018, { holidays: holidaysOf2018, workdays: workdaysOf2018 }],\n [2017, { holidays: holidaysOf2017, workdays: workdaysOf2017 }],\n [2016, { holidays: holidaysOf2016, workdays: workdaysOf2016 }],\n]);\n\n/**\n * 判断是否为法定节假日,包括调休放假\n */\nexport function isHoliday(date: TimeValue): boolean {\n const dateWrapper = new Date(date);\n const year = dateWrapper.getFullYear();\n const month = (dateWrapper.getMonth() + 1).toString(10).padStart(2, '0');\n const dayOfMonth = dateWrapper\n .getDate()\n .toString(10)\n .padStart(2, '0');\n const dateFormatted = `${year}-${month}-${dayOfMonth}`; // 'YYYY-MM-DD'\n let holidayMapValue: ReturnType<typeof holidayMap.get>;\n if (holidayMap.has(year) && (holidayMapValue = holidayMap.get(year))) {\n const { holidays = [], workdays = [] } = holidayMapValue;\n // 法定放假\n if (holidays.includes(dateFormatted)) {\n return true;\n }\n // 法定上班\n if (workdays.includes(dateFormatted)) {\n return false;\n }\n } else {\n const monthDay = `${month}-${dayOfMonth}`; // 'MM-DD'\n // 法定公历假期\n if (holidaysOfLaw.includes(monthDay)) {\n return true;\n } else {\n console.log(\n `[public-holidays-cn] 暂时无法准确判断 ${year} 年度的法定节假日`\n );\n }\n }\n // 正常双休日\n if ([0, 6].includes(dateWrapper.getDay())) {\n return true;\n }\n return false;\n}\n\n/**\n * 判断是否是工作日,包括调休上班\n */\nexport function isWorkday(date: TimeValue): boolean {\n return !isHoliday(date);\n}\n"],"names":["holidaysOf2026","workdaysOf2026","holidaysOf2025","workdaysOf2025","holidaysOf2024","workdaysOf2024","holidaysOf2023","workdaysOf2023","holidaysOf2022","workdaysOf2022","holidaysOf2021","workdaysOf2021","holidaysOf2020","workdaysOf2020","holidaysOf2019","workdaysOf2019","holidaysOf2018","workdaysOf2018","holidaysOf2017","workdaysOf2017","holidaysOf2016","workdaysOf2016","holidaysOfLaw","holidayMap","Map","holidays","workdays","isHoliday","date","dateWrapper","Date","year","getFullYear","month","getMonth","toString","padStart","dayOfMonth","getDate","dateFormatted","holidayMapValue","has","get","_holidayMapValue","_holidayMapValue$holi","_holidayMapValue$work","includes","monthDay","console","log","getDay","isWorkday"],"mappings":";;;;AAAA;;;AAGA,IAAMA,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;AAED;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;;ACjDD;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;AAED;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;;AC3CD;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;AAED;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;;AC9CD;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;AAED;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;;AC1CD;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;AAED;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;;AChDD;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YA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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var o=["01-01","05-01","10-01","10-02","10-03"],a=new Map([[2022,{holidays:["2022-01-01","2022-01-02","2022-01-03","2022-01-31","2022-02-01","2022-02-02","2022-02-03","2022-02-04","2022-02-05","2022-02-06","2022-04-03","2022-04-04","2022-04-05","2022-04-30","2022-05-01","2022-05-02","2022-05-03","2022-05-04","2022-06-03","2022-06-04","2022-06-05","2022-09-10","2022-09-11","2022-09-12","2022-10-01","2022-10-02","2022-10-03","2022-10-04","2022-10-05","2022-10-06","2022-10-07"],workdays:["2022-01-29","2022-01-30","2022-04-02","2022-04-24","2022-05-07","2022-10-08","2022-10-09"]}],[2021,{holidays:["2021-01-01","2021-01-02","2021-01-03","2021-02-11","2021-02-12","2021-02-13","2021-02-14","2021-02-15","2021-02-16","2021-02-17","2021-04-03","2021-04-04","2021-04-05","2021-05-01","2021-05-02","2021-05-03","2021-05-04","2021-05-05","2021-06-12","2021-06-13","2021-06-14","2021-09-19","2021-09-20","2021-09-21","2021-10-01","2021-10-02","2021-10-03","2021-10-04","2021-10-05","2021-10-06","2021-10-07"],workdays:["2021-02-07","2021-02-20","2021-04-25","2021-05-08","2021-09-18","2021-09-26","2021-10-09"]}],[2020,{holidays:["2020-01-01","2020-01-24","2020-01-25","2020-01-26","2020-01-27","2020-01-28","2020-01-29","2020-01-30","2020-01-31","2020-02-01","2020-02-02","2020-04-04","2020-04-05","2020-04-06","2020-05-01","2020-05-02","2020-05-03","2020-05-04","2020-05-05","2020-06-25","2020-06-26","2020-06-27","2020-10-01","2020-10-02","2020-10-03","2020-10-04","2020-10-05","2020-10-06","2020-10-07","2020-10-08"],workdays:["2020-01-19","2020-04-26","2020-05-09","2020-06-28","2020-09-27","2020-10-10"]}],[2019,{holidays:["2019-01-01","2019-02-04","2019-02-05","2019-02-06","2019-02-07","2019-02-08","2019-02-09","2019-02-10","2019-04-05","2019-05-01","2019-05-02","2019-05-03","2019-05-04","2019-06-07","2019-09-13","2019-10-01","2019-10-02","2019-10-03","2019-10-04","2019-10-05","2019-10-06","2019-10-07"],workdays:["2019-02-02","2019-02-03","2019-04-28","2019-05-05","2019-09-29","2019-10-12"]}],[2018,{holidays:["2018-01-01","2018-02-15","2018-02-16","2018-02-17","2018-02-18","2018-02-19","2018-02-20","2018-02-21","2018-04-05","2018-04-06","2018-04-07","2018-04-29","2018-04-30","2018-05-01","2018-06-18","2018-09-24","2018-10-01","2018-10-02","2018-10-03","2018-10-04","2018-10-05","2018-10-06","2018-10-07","2018-12-30","2018-12-31"],workdays:["2018-02-11","2018-02-24","2018-04-08","2018-04-28","2018-09-29","2018-09-30","2018-12-29"]}],[2017,{holidays:["2017-01-01","2017-01-02","2017-01-27","2017-01-28","2017-01-29","2017-01-30","2017-01-31","2017-02-01","2017-02-02","2017-04-02","2017-04-03","2017-04-04","2017-05-01","2017-05-28","2017-05-29","2017-05-30","2017-10-01","2017-10-02","2017-10-03","2017-10-04","2017-10-05","2017-10-06","2017-10-07","2017-10-08"],workdays:["2017-01-22","2017-02-04","2017-04-01","2017-05-27","2017-09-30"]}],[2016,{holidays:["2016-01-01","2016-02-07","2016-02-08","2016-02-09","2016-02-10","2016-02-11","2016-02-12","2016-02-13","2016-04-04","2016-05-01","2016-05-02","2016-06-09","2016-06-10","2016-06-11","2016-09-15","2016-09-16","2016-09-17","2016-10-01","2016-10-02","2016-10-03","2016-10-04","2016-10-05","2016-10-06","2016-10-07"],workdays:["2016-02-06","2016-02-14","2016-06-12","2016-09-18","2016-10-08","2016-10-09"]}]]);function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var o=["01-01","05-01","10-01","10-02","10-03"],a=new Map([[2026,{holidays:["2026-01-01","2026-01-02","2026-01-03","2026-02-15","2026-02-16","2026-02-17","2026-02-18","2026-02-19","2026-02-20","2026-02-21","2026-02-22","2026-02-23","2026-04-04","2026-04-05","2026-04-06","2026-05-01","2026-05-02","2026-05-03","2026-05-04","2026-05-05","2026-06-19","2026-06-20","2026-06-21","2026-09-25","2026-09-26","2026-09-27","2026-10-01","2026-10-02","2026-10-03","2026-10-04","2026-10-05","2026-10-06","2026-10-07"],workdays:["2026-01-04","2026-02-14","2026-02-28","2026-05-09","2026-09-20","2026-10-10"]}],[2025,{holidays:["2025-01-01","2025-01-28","2025-01-29","2025-01-30","2025-01-31","2025-02-01","2025-02-02","2025-02-03","2025-02-04","2025-04-04","2025-04-05","2025-04-06","2025-05-01","2025-05-02","2025-05-03","2025-05-04","2025-05-05","2025-05-31","2025-06-01","2025-06-02","2025-10-01","2025-10-02","2025-10-03","2025-10-04","2025-10-05","2025-10-06","2025-10-07","2025-10-08"],workdays:["2025-01-26","2025-02-08","2025-04-27","2025-09-28","2025-10-11"]}],[2024,{holidays:["2024-01-01","2024-02-10","2024-02-11","2024-02-12","2024-02-13","2024-02-14","2024-02-15","2024-02-16","2024-02-17","2024-04-04","2024-04-05","2024-04-06","2024-05-01","2024-05-02","2024-05-03","2024-05-04","2024-05-05","2024-06-10","2024-09-15","2024-09-16","2024-09-17","2024-10-01","2024-10-02","2024-10-03","2024-10-04","2024-10-05","2024-10-06","2024-10-07"],workdays:["2024-02-04","2024-02-18","2024-04-07","2024-04-28","2024-05-11","2024-09-14","2024-09-29","2024-10-12"]}],[2023,{holidays:["2023-01-01","2023-01-21","2023-01-22","2023-01-23","2023-01-24","2023-01-25","2023-01-26","2023-01-27","2023-04-05","2023-04-29","2023-04-30","2023-05-01","2023-05-02","2023-05-03","2023-06-22","2023-06-23","2023-06-24","2023-09-29","2023-09-30","2023-10-01","2023-10-02","2023-10-03","2023-10-04","2023-10-05","2023-10-06"],workdays:["2023-01-28","2023-01-29","2023-04-23","2023-05-06","2023-06-25","2023-10-07","2023-10-08"]}],[2022,{holidays:["2022-01-01","2022-01-02","2022-01-03","2022-01-31","2022-02-01","2022-02-02","2022-02-03","2022-02-04","2022-02-05","2022-02-06","2022-04-03","2022-04-04","2022-04-05","2022-04-30","2022-05-01","2022-05-02","2022-05-03","2022-05-04","2022-06-03","2022-06-04","2022-06-05","2022-09-10","2022-09-11","2022-09-12","2022-10-01","2022-10-02","2022-10-03","2022-10-04","2022-10-05","2022-10-06","2022-10-07"],workdays:["2022-01-29","2022-01-30","2022-04-02","2022-04-24","2022-05-07","2022-10-08","2022-10-09"]}],[2021,{holidays:["2021-01-01","2021-01-02","2021-01-03","2021-02-11","2021-02-12","2021-02-13","2021-02-14","2021-02-15","2021-02-16","2021-02-17","2021-04-03","2021-04-04","2021-04-05","2021-05-01","2021-05-02","2021-05-03","2021-05-04","2021-05-05","2021-06-12","2021-06-13","2021-06-14","2021-09-19","2021-09-20","2021-09-21","2021-10-01","2021-10-02","2021-10-03","2021-10-04","2021-10-05","2021-10-06","2021-10-07"],workdays:["2021-02-07","2021-02-20","2021-04-25","2021-05-08","2021-09-18","2021-09-26","2021-10-09"]}],[2020,{holidays:["2020-01-01","2020-01-24","2020-01-25","2020-01-26","2020-01-27","2020-01-28","2020-01-29","2020-01-30","2020-01-31","2020-02-01","2020-02-02","2020-04-04","2020-04-05","2020-04-06","2020-05-01","2020-05-02","2020-05-03","2020-05-04","2020-05-05","2020-06-25","2020-06-26","2020-06-27","2020-10-01","2020-10-02","2020-10-03","2020-10-04","2020-10-05","2020-10-06","2020-10-07","2020-10-08"],workdays:["2020-01-19","2020-04-26","2020-05-09","2020-06-28","2020-09-27","2020-10-10"]}],[2019,{holidays:["2019-01-01","2019-02-04","2019-02-05","2019-02-06","2019-02-07","2019-02-08","2019-02-09","2019-02-10","2019-04-05","2019-05-01","2019-05-02","2019-05-03","2019-05-04","2019-06-07","2019-09-13","2019-10-01","2019-10-02","2019-10-03","2019-10-04","2019-10-05","2019-10-06","2019-10-07"],workdays:["2019-02-02","2019-02-03","2019-04-28","2019-05-05","2019-09-29","2019-10-12"]}],[2018,{holidays:["2018-01-01","2018-02-15","2018-02-16","2018-02-17","2018-02-18","2018-02-19","2018-02-20","2018-02-21","2018-04-05","2018-04-06","2018-04-07","2018-04-29","2018-04-30","2018-05-01","2018-06-18","2018-09-24","2018-10-01","2018-10-02","2018-10-03","2018-10-04","2018-10-05","2018-10-06","2018-10-07","2018-12-30","2018-12-31"],workdays:["2018-02-11","2018-02-24","2018-04-08","2018-04-28","2018-09-29","2018-09-30","2018-12-29"]}],[2017,{holidays:["2017-01-01","2017-01-02","2017-01-27","2017-01-28","2017-01-29","2017-01-30","2017-01-31","2017-02-01","2017-02-02","2017-04-02","2017-04-03","2017-04-04","2017-05-01","2017-05-28","2017-05-29","2017-05-30","2017-10-01","2017-10-02","2017-10-03","2017-10-04","2017-10-05","2017-10-06","2017-10-07","2017-10-08"],workdays:["2017-01-22","2017-02-04","2017-04-01","2017-05-27","2017-09-30"]}],[2016,{holidays:["2016-01-01","2016-02-07","2016-02-08","2016-02-09","2016-02-10","2016-02-11","2016-02-12","2016-02-13","2016-04-04","2016-05-01","2016-05-02","2016-06-09","2016-06-10","2016-06-11","2016-09-15","2016-09-16","2016-09-17","2016-10-01","2016-10-02","2016-10-03","2016-10-04","2016-10-05","2016-10-06","2016-10-07"],workdays:["2016-02-06","2016-02-14","2016-06-12","2016-09-18","2016-10-08","2016-10-09"]}]]);function s(s){var d,r=new Date(s),e=r.getFullYear(),i=(r.getMonth()+1).toString(10).padStart(2,"0"),t=r.getDate().toString(10).padStart(2,"0"),y=e+"-"+i+"-"+t;if(a.has(e)&&(d=a.get(e))){var l=d.holidays,n=d.workdays,u=void 0===n?[]:n;if((void 0===l?[]:l).includes(y))return!0;if(u.includes(y))return!1}else{if(o.includes(i+"-"+t))return!0;console.log("[public-holidays-cn] 暂时无法准确判断 "+e+" 年度的法定节假日")}return!![0,6].includes(r.getDay())}exports.isHoliday=s,exports.isWorkday=function(o){return!s(o)};
|
|
2
2
|
//# sourceMappingURL=public-holidays-cn.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-holidays-cn.cjs.production.min.js","sources":["../src/2022.ts","../src/common.ts","../src/index.ts","../src/2021.ts","../src/2020.ts","../src/2019.ts","../src/2018.ts","../src/2017.ts","../src/2016.ts"],"sourcesContent":["/**\n * 2022年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2022 = [\n '2022-01-01', // 元旦(3天)\n '2022-01-02',\n '2022-01-03',\n '2022-01-31', // 春节(7天)\n '2022-02-01',\n '2022-02-02',\n '2022-02-03',\n '2022-02-04',\n '2022-02-05',\n '2022-02-06',\n '2022-04-03', // 清明节(3天)\n '2022-04-04',\n '2022-04-05',\n '2022-04-30', // 劳动节(5天)\n '2022-05-01',\n '2022-05-02',\n '2022-05-03',\n '2022-05-04',\n '2022-06-03', // 端午节(3天)\n '2022-06-04',\n '2022-06-05',\n '2022-09-10', // 中秋节(3天)\n '2022-09-11',\n '2022-09-12',\n '2022-10-01', // 国庆节(7天)\n '2022-10-02',\n '2022-10-03',\n '2022-10-04',\n '2022-10-05',\n '2022-10-06',\n '2022-10-07',\n];\n\n/**\n * 2022年,休息日上班日期\n */\nconst workdaysOf2022 = [\n '2022-01-29', // 星期六\n '2022-01-30', // 星期日\n '2022-04-02', // 星期六\n '2022-04-24', // 星期日\n '2022-05-07', // 星期六\n '2022-10-08', // 星期六\n '2022-10-09', // 星期日\n];\n\nexport { holidaysOf2022, workdaysOf2022 };\n","/**\n * 全国年节及纪念日放假办法假期\n * - 新年,放假1天(1月1日)\n * - 春节,放假3天(农历正月初一、初二、初三)\n * - 清明节,放假1天(农历清明当日)\n * - 劳动节,放假1天(5月1日)\n * - 端午节,放假1天(农历端午当日)\n * - 中秋节,放假1天(农历中秋当日)\n * - 国庆节,放假3天(10月1日、2日、3日)\n */\nconst holidaysOfLaw = ['01-01', '05-01', '10-01', '10-02', '10-03'];\n\nexport { holidaysOfLaw };\n","import { holidaysOf2022, workdaysOf2022 } from './2022';\nimport { holidaysOf2021, workdaysOf2021 } from './2021';\nimport { holidaysOf2020, workdaysOf2020 } from './2020';\nimport { holidaysOf2019, workdaysOf2019 } from './2019';\nimport { holidaysOf2018, workdaysOf2018 } from './2018';\nimport { holidaysOf2017, workdaysOf2017 } from './2017';\nimport { holidaysOf2016, workdaysOf2016 } from './2016';\nimport { holidaysOfLaw } from './common';\n\ntype TimeValue = Date | string | number;\n\nconst holidayMap = new Map([\n [2022, { holidays: holidaysOf2022, workdays: workdaysOf2022 }],\n [2021, { holidays: holidaysOf2021, workdays: workdaysOf2021 }],\n [2020, { holidays: holidaysOf2020, workdays: workdaysOf2020 }],\n [2019, { holidays: holidaysOf2019, workdays: workdaysOf2019 }],\n [2018, { holidays: holidaysOf2018, workdays: workdaysOf2018 }],\n [2017, { holidays: holidaysOf2017, workdays: workdaysOf2017 }],\n [2016, { holidays: holidaysOf2016, workdays: workdaysOf2016 }],\n]);\n\n/**\n * 判断是否为法定节假日,包括调休放假\n */\nexport function isHoliday(date: TimeValue): boolean {\n const dateWrapper = new Date(date);\n const year = dateWrapper.getFullYear();\n const month = (dateWrapper.getMonth() + 1).toString(10).padStart(2, '0');\n const dayOfMonth = dateWrapper\n .getDate()\n .toString(10)\n .padStart(2, '0');\n const dateFormatted = `${year}-${month}-${dayOfMonth}`; // 'YYYY-MM-DD'\n let holidayMapValue: ReturnType<typeof holidayMap.get>;\n if (holidayMap.has(year) && (holidayMapValue = holidayMap.get(year))) {\n const { holidays = [], workdays = [] } = holidayMapValue;\n // 法定放假\n if (holidays.includes(dateFormatted)) {\n return true;\n }\n // 法定上班\n if (workdays.includes(dateFormatted)) {\n return false;\n }\n } else {\n const monthDay = `${month}-${dayOfMonth}`; // 'MM-DD'\n // 法定公历假期\n if (holidaysOfLaw.includes(monthDay)) {\n return true;\n } else {\n console.log(\n `[public-holidays-cn] 暂时无法准确判断 ${year} 年度的法定节假日`\n );\n }\n }\n // 正常双休日\n if ([0, 6].includes(dateWrapper.getDay())) {\n return true;\n }\n return false;\n}\n\n/**\n * 判断是否是工作日,包括调休上班\n */\nexport function isWorkday(date: TimeValue): boolean {\n return !isHoliday(date);\n}\n","/**\n * 2021年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2021 = [\n '2021-01-01', // 元旦(3天)\n '2021-01-02',\n '2021-01-03',\n '2021-02-11', // 春节(7天)\n '2021-02-12',\n '2021-02-13',\n '2021-02-14',\n '2021-02-15',\n '2021-02-16',\n '2021-02-17',\n '2021-04-03', // 清明节(3天)\n '2021-04-04',\n '2021-04-05',\n '2021-05-01', // 劳动节(5天)\n '2021-05-02',\n '2021-05-03',\n '2021-05-04',\n '2021-05-05',\n '2021-06-12', // 端午节(3天)\n '2021-06-13',\n '2021-06-14',\n '2021-09-19', // 中秋节(3天)\n '2021-09-20',\n '2021-09-21',\n '2021-10-01', // 国庆节(7天)\n '2021-10-02',\n '2021-10-03',\n '2021-10-04',\n '2021-10-05',\n '2021-10-06',\n '2021-10-07',\n];\n\n/**\n * 2021年,休息日上班日期\n */\nconst workdaysOf2021 = [\n '2021-02-07', // 星期日\n '2021-02-20', // 星期六\n '2021-04-25', // 星期日\n '2021-05-08', // 星期六\n '2021-09-18', // 星期六\n '2021-09-26', // 星期日\n '2021-10-09', // 星期六\n];\n\nexport { holidaysOf2021, workdaysOf2021 };\n","/**\n * 2020年元旦、春节、清明节、劳动节、端午节、国庆节和中秋节放假调休日期\n */\nconst holidaysOf2020 = [\n '2020-01-01', // 元旦(1天)\n '2020-01-24', // 春节(7天)\n '2020-01-25',\n '2020-01-26',\n '2020-01-27',\n '2020-01-28',\n '2020-01-29',\n '2020-01-30',\n '2020-01-31', // 春节(延长3天)\n '2020-02-01',\n '2020-02-02',\n '2020-04-04', // 清明节(3天)\n '2020-04-05',\n '2020-04-06',\n '2020-05-01', // 劳动节(5天)\n '2020-05-02',\n '2020-05-03',\n '2020-05-04',\n '2020-05-05',\n '2020-06-25', // 端午节(3天)\n '2020-06-26',\n '2020-06-27',\n '2020-10-01', // 国庆节、中秋节(8天)\n '2020-10-02',\n '2020-10-03',\n '2020-10-04',\n '2020-10-05',\n '2020-10-06',\n '2020-10-07',\n '2020-10-08',\n];\n\n/**\n * 2020年,休息日上班日期\n */\nconst workdaysOf2020 = [\n '2020-01-19', // 星期日\n // '2020-02-01', // 星期六,原本上班,延长春节假期后改为放假\n '2020-04-26', // 星期日\n '2020-05-09', // 星期六\n '2020-06-28', // 星期日\n '2020-09-27', // 星期日\n '2020-10-10', // 星期六\n];\n\nexport { holidaysOf2020, workdaysOf2020 };\n","/**\n * 2019年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2019 = [\n '2019-01-01', // 元旦(3天)\n '2019-02-04', // 春节(7天)\n '2019-02-05',\n '2019-02-06',\n '2019-02-07',\n '2019-02-08',\n '2019-02-09',\n '2019-02-10',\n '2019-04-05', // 清明节,与周末连休\n '2019-05-01', // 劳动节(4天)\n '2019-05-02',\n '2019-05-03',\n '2019-05-04',\n '2019-06-07', // 端午节,与周末连休\n '2019-09-13', // 中秋节,与周末连休\n '2019-10-01', // 国庆节(7天)\n '2019-10-02',\n '2019-10-03',\n '2019-10-04',\n '2019-10-05',\n '2019-10-06',\n '2019-10-07',\n];\n\n/**\n * 2019年,休息日上班日期\n */\nconst workdaysOf2019 = [\n '2019-02-02', // 星期六\n '2019-02-03', // 星期日\n '2019-04-28', // 星期日\n '2019-05-05', // 星期日\n '2019-09-29', // 星期日\n '2019-10-12', // 星期六\n];\n\nexport { holidaysOf2019, workdaysOf2019 };\n","/**\n * 2018年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2018 = [\n '2018-01-01', // 元旦,与周末连休\n '2018-02-15', // 春节(7天)\n '2018-02-16',\n '2018-02-17',\n '2018-02-18',\n '2018-02-19',\n '2018-02-20',\n '2018-02-21',\n '2018-04-05',\n '2018-04-06',\n '2018-04-07',\n '2018-04-29', // 劳动节(3天)\n '2018-04-30',\n '2018-05-01',\n '2018-06-18', // 端午节,与周末连休\n '2018-09-24', // 中秋节,与周末连休\n '2018-10-01', // 国庆节(7天)\n '2018-10-02',\n '2018-10-03',\n '2018-10-04',\n '2018-10-05',\n '2018-10-06',\n '2018-10-07',\n '2018-12-30', // 元旦(3天)\n '2018-12-31',\n];\n\n/**\n * 2018年,休息日上班日期\n */\nconst workdaysOf2018 = [\n '2018-02-11', // 星期日\n '2018-02-24', // 星期六\n '2018-04-08', // 星期日\n '2018-04-28', // 星期六\n '2018-09-29', // 星期六\n '2018-09-30', // 星期日\n '2018-12-29', // 星期六\n];\n\nexport { holidaysOf2018, workdaysOf2018 };\n","/**\n * 2017年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2017 = [\n '2017-01-01', // 元旦\n '2017-01-02', // 补休\n '2017-01-27', // 春节(7天)\n '2017-01-28',\n '2017-01-29',\n '2017-01-30',\n '2017-01-31',\n '2017-02-01',\n '2017-02-02',\n '2017-04-02', // 清明节(3天)\n '2017-04-03',\n '2017-04-04',\n '2017-05-01', // 劳动节,与周末连休\n '2017-05-28', // 端午节(3天)\n '2017-05-29',\n '2017-05-30',\n '2017-10-01', // 中秋节、国庆节(8天)\n '2017-10-02',\n '2017-10-03',\n '2017-10-04',\n '2017-10-05',\n '2017-10-06',\n '2017-10-07',\n '2017-10-08',\n];\n\n/**\n * 2017年,休息日上班日期\n */\nconst workdaysOf2017 = [\n '2017-01-22', // 星期日\n '2017-02-04', // 星期六\n '2017-04-01', // 星期六\n '2017-05-27', // 星期六\n '2017-09-30', // 星期六\n];\n\nexport { holidaysOf2017, workdaysOf2017 };\n","/**\n * 2016年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2016 = [\n '2016-01-01', // 元旦,与周末连休\n '2016-02-07', // 春节(7天)\n '2016-02-08',\n '2016-02-09',\n '2016-02-10',\n '2016-02-11',\n '2016-02-12',\n '2016-02-13',\n '2016-04-04', // 清明节,与周末连休\n '2016-05-01', // 劳动节\n '2016-05-02', // 补休\n '2016-06-09', // 端午节(3天)\n '2016-06-10',\n '2016-06-11',\n '2016-09-15', // 中秋节(3天)\n '2016-09-16',\n '2016-09-17',\n '2016-10-01', // 国庆节(7天)\n '2016-10-02',\n '2016-10-03',\n '2016-10-04',\n '2016-10-05',\n '2016-10-06',\n '2016-10-07',\n];\n\n/**\n * 2016年,休息日上班日期\n */\nconst workdaysOf2016 = [\n '2016-02-06', // 星期六\n '2016-02-14', // 星期日\n '2016-06-12', // 星期日\n '2016-09-18', // 星期日\n '2016-10-08', // 星期六\n '2016-10-09', // 星期日\n];\n\nexport { holidaysOf2016, workdaysOf2016 };\n"],"names":["holidaysOfLaw","holidayMap","Map","holidays","workdays","isHoliday","date","holidayMapValue","dateWrapper","Date","year","getFullYear","month","getMonth","toString","padStart","dayOfMonth","getDate","dateFormatted","has","get","includes","console","log","getDay"],"mappings":"oEAGA,ICOMA,EAAgB,CAAC,QAAS,QAAS,QAAS,QAAS,SCCrDC,EAAa,IAAIC,IAAI,CACzB,CAAC,KAAM,CAAEC,SFTY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cEtBmCC,SF4Bd,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,gBElCA,CAAC,KAAM,CAAED,SCVY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cDrBmCC,SC2Bd,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,gBDjCA,CAAC,KAAM,CAAED,SEXY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cFnBmCC,SEyBd,CACrB,aAEA,aACA,aACA,aACA,aACA,gBF/BA,CAAC,KAAM,CAAED,SGZY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cHVmCC,SGgBd,CACrB,aACA,aACA,aACA,aACA,aACA,gBHrBA,CAAC,KAAM,CAAED,SIbY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cJZmCC,SIkBd,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,gBJxBA,CAAC,KAAM,CAAED,SKdY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cLVmCC,SKgBd,CACrB,aACA,aACA,aACA,aACA,gBLpBA,CAAC,KAAM,CAAED,SMfY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cNTmCC,SMed,CACrB,aACA,aACA,aACA,aACA,aACA,2BNfcC,EAAUC,OASpBC,EAREC,EAAc,IAAIC,KAAKH,GACvBI,EAAOF,EAAYG,cACnBC,GAASJ,EAAYK,WAAa,GAAGC,SAAS,IAAIC,SAAS,EAAG,KAC9DC,EAAaR,EAChBS,UACAH,SAAS,IACTC,SAAS,EAAG,KACTG,EAAmBR,MAAQE,MAASI,KAEtCf,EAAWkB,IAAIT,KAAUH,EAAkBN,EAAWmB,IAAIV,IAAQ,OAC3BH,EAAjCJ,WAAiCI,EAAlBH,SAAAA,aAAW,oBAAf,MAENiB,SAASH,UACb,KAGLd,EAASiB,SAASH,UACb,MAEJ,IAGDlB,EAAcqB,SAFET,MAASI,UAGpB,EAEPM,QAAQC,qCAC2Bb,uBAKnC,CAAC,EAAG,GAAGW,SAASb,EAAYgB,yDASRlB,UAChBD,EAAUC"}
|
|
1
|
+
{"version":3,"file":"public-holidays-cn.cjs.production.min.js","sources":["../src/2026.ts","../src/common.ts","../src/index.ts","../src/2025.ts","../src/2024.ts","../src/2023.ts","../src/2022.ts","../src/2021.ts","../src/2020.ts","../src/2019.ts","../src/2018.ts","../src/2017.ts","../src/2016.ts"],"sourcesContent":["/**\n * 2026年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2026 = [\n '2026-01-01', // 元旦(3天)\n '2026-01-02',\n '2026-01-03',\n '2026-02-15', // 春节(9天)\n '2026-02-16',\n '2026-02-17',\n '2026-02-18',\n '2026-02-19',\n '2026-02-20',\n '2026-02-21',\n '2026-02-22',\n '2026-02-23',\n '2026-04-04', // 清明节(3天)\n '2026-04-05',\n '2026-04-06',\n '2026-05-01', // 劳动节(5天)\n '2026-05-02',\n '2026-05-03',\n '2026-05-04',\n '2026-05-05',\n '2026-06-19', // 端午节(3天)\n '2026-06-20',\n '2026-06-21',\n '2026-09-25', // 中秋节(3天)\n '2026-09-26',\n '2026-09-27',\n '2026-10-01', // 国庆节(7天)\n '2026-10-02',\n '2026-10-03',\n '2026-10-04',\n '2026-10-05',\n '2026-10-06',\n '2026-10-07',\n];\n\n/**\n * 2026年,休息日上班日期\n */\nconst workdaysOf2026 = [\n '2026-01-04', // 周日\n '2026-02-14', // 周六\n '2026-02-28', // 周六\n '2026-05-09', // 周六\n '2026-09-20', // 周日\n '2026-10-10', // 周六\n];\n\nexport { holidaysOf2026, workdaysOf2026 };\n","/**\n * 全国年节及纪念日放假办法假期\n * - 新年,放假1天(1月1日)\n * - 春节,放假3天(农历正月初一、初二、初三)\n * - 清明节,放假1天(农历清明当日)\n * - 劳动节,放假1天(5月1日)\n * - 端午节,放假1天(农历端午当日)\n * - 中秋节,放假1天(农历中秋当日)\n * - 国庆节,放假3天(10月1日、2日、3日)\n */\nexport const holidaysOfLaw = ['01-01', '05-01', '10-01', '10-02', '10-03'];\n\nexport type TimeValue = Date | string | number;\n\nexport interface HolidayResult {\n holidays: string[];\n workdays: string[];\n}\n","import { holidaysOf2026, workdaysOf2026 } from './2026';\nimport { holidaysOf2025, workdaysOf2025 } from './2025';\nimport { holidaysOf2024, workdaysOf2024 } from './2024';\nimport { holidaysOf2023, workdaysOf2023 } from './2023';\nimport { holidaysOf2022, workdaysOf2022 } from './2022';\nimport { holidaysOf2021, workdaysOf2021 } from './2021';\nimport { holidaysOf2020, workdaysOf2020 } from './2020';\nimport { holidaysOf2019, workdaysOf2019 } from './2019';\nimport { holidaysOf2018, workdaysOf2018 } from './2018';\nimport { holidaysOf2017, workdaysOf2017 } from './2017';\nimport { holidaysOf2016, workdaysOf2016 } from './2016';\nimport { holidaysOfLaw } from './common';\nimport type { TimeValue } from './common';\n\nconst holidayMap = new Map([\n [2026, { holidays: holidaysOf2026, workdays: workdaysOf2026 }],\n [2025, { holidays: holidaysOf2025, workdays: workdaysOf2025 }],\n [2024, { holidays: holidaysOf2024, workdays: workdaysOf2024 }],\n [2023, { holidays: holidaysOf2023, workdays: workdaysOf2023 }],\n [2022, { holidays: holidaysOf2022, workdays: workdaysOf2022 }],\n [2021, { holidays: holidaysOf2021, workdays: workdaysOf2021 }],\n [2020, { holidays: holidaysOf2020, workdays: workdaysOf2020 }],\n [2019, { holidays: holidaysOf2019, workdays: workdaysOf2019 }],\n [2018, { holidays: holidaysOf2018, workdays: workdaysOf2018 }],\n [2017, { holidays: holidaysOf2017, workdays: workdaysOf2017 }],\n [2016, { holidays: holidaysOf2016, workdays: workdaysOf2016 }],\n]);\n\n/**\n * 判断是否为法定节假日,包括调休放假\n */\nexport function isHoliday(date: TimeValue): boolean {\n const dateWrapper = new Date(date);\n const year = dateWrapper.getFullYear();\n const month = (dateWrapper.getMonth() + 1).toString(10).padStart(2, '0');\n const dayOfMonth = dateWrapper\n .getDate()\n .toString(10)\n .padStart(2, '0');\n const dateFormatted = `${year}-${month}-${dayOfMonth}`; // 'YYYY-MM-DD'\n let holidayMapValue: ReturnType<typeof holidayMap.get>;\n if (holidayMap.has(year) && (holidayMapValue = holidayMap.get(year))) {\n const { holidays = [], workdays = [] } = holidayMapValue;\n // 法定放假\n if (holidays.includes(dateFormatted)) {\n return true;\n }\n // 法定上班\n if (workdays.includes(dateFormatted)) {\n return false;\n }\n } else {\n const monthDay = `${month}-${dayOfMonth}`; // 'MM-DD'\n // 法定公历假期\n if (holidaysOfLaw.includes(monthDay)) {\n return true;\n } else {\n console.log(\n `[public-holidays-cn] 暂时无法准确判断 ${year} 年度的法定节假日`\n );\n }\n }\n // 正常双休日\n if ([0, 6].includes(dateWrapper.getDay())) {\n return true;\n }\n return false;\n}\n\n/**\n * 判断是否是工作日,包括调休上班\n */\nexport function isWorkday(date: TimeValue): boolean {\n return !isHoliday(date);\n}\n","/**\n * 2025年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2025 = [\n '2025-01-01', // 元旦(1天)\n '2025-01-28', // 春节(8天)\n '2025-01-29',\n '2025-01-30',\n '2025-01-31',\n '2025-02-01',\n '2025-02-02',\n '2025-02-03',\n '2025-02-04',\n '2025-04-04', // 清明节(3天)\n '2025-04-05',\n '2025-04-06',\n '2025-05-01', // 劳动节(5天)\n '2025-05-02',\n '2025-05-03',\n '2025-05-04',\n '2025-05-05',\n '2025-05-31', // 端午节(3天)\n '2025-06-01',\n '2025-06-02',\n '2025-10-01', // 国庆节、中秋节(8天)\n '2025-10-02',\n '2025-10-03',\n '2025-10-04',\n '2025-10-05',\n '2025-10-06',\n '2025-10-07',\n '2025-10-08',\n];\n\n/**\n * 2025年,休息日上班日期\n */\nconst workdaysOf2025 = [\n '2025-01-26', // 周日\n '2025-02-08', // 周六\n '2025-04-27', // 周日\n '2025-09-28', // 周日\n '2025-10-11', // 周六\n];\n\nexport { holidaysOf2025, workdaysOf2025 };\n","/**\n * 2024年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2024 = [\n '2024-01-01', // 元旦(1天)\n '2024-02-10', // 春节(8天)\n '2024-02-11',\n '2024-02-12',\n '2024-02-13',\n '2024-02-14',\n '2024-02-15',\n '2024-02-16',\n '2024-02-17',\n '2024-04-04', // 清明节(3天)\n '2024-04-05',\n '2024-04-06',\n '2024-05-01', // 劳动节(5天)\n '2024-05-02',\n '2024-05-03',\n '2024-05-04',\n '2024-05-05',\n '2024-06-10', // 端午节(1天)\n '2024-09-15', // 中秋节(3天)\n '2024-09-16',\n '2024-09-17',\n '2024-10-01', // 国庆节(7天)\n '2024-10-02',\n '2024-10-03',\n '2024-10-04',\n '2024-10-05',\n '2024-10-06',\n '2024-10-07',\n];\n\n/**\n * 2024年,休息日上班日期\n */\nconst workdaysOf2024 = [\n '2024-02-04', // 星期日\n '2024-02-18', // 星期日\n '2024-04-07', // 星期日\n '2024-04-28', // 星期日\n '2024-05-11', // 星期六\n '2024-09-14', // 星期六\n '2024-09-29', // 星期日\n '2024-10-12', // 星期六\n];\n\nexport { holidaysOf2024, workdaysOf2024 };\n","/**\n * 2023年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2023 = [\n '2023-01-01', // 元旦(1天)\n '2023-01-21', // 春节(7天)\n '2023-01-22',\n '2023-01-23',\n '2023-01-24',\n '2023-01-25',\n '2023-01-26',\n '2023-01-27',\n '2023-04-05', // 清明节(1天)\n '2023-04-29',\n '2023-04-30',\n '2023-05-01', // 劳动节(5天)\n '2023-05-02',\n '2023-05-03',\n '2023-06-22', // 端午节(3天)\n '2023-06-23',\n '2023-06-24',\n '2023-09-29', // 国庆节、中秋节(8天)\n '2023-09-30',\n '2023-10-01',\n '2023-10-02',\n '2023-10-03',\n '2023-10-04',\n '2023-10-05',\n '2023-10-06',\n];\n\n/**\n * 2023年,休息日上班日期\n */\nconst workdaysOf2023 = [\n '2023-01-28', // 星期六\n '2023-01-29', // 星期日\n '2023-04-23', // 星期日\n '2023-05-06', // 星期六\n '2023-06-25', // 星期日\n '2023-10-07', // 星期六\n '2023-10-08', // 星期日\n];\n\nexport { holidaysOf2023, workdaysOf2023 };\n","/**\n * 2022年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2022 = [\n '2022-01-01', // 元旦(3天)\n '2022-01-02',\n '2022-01-03',\n '2022-01-31', // 春节(7天)\n '2022-02-01',\n '2022-02-02',\n '2022-02-03',\n '2022-02-04',\n '2022-02-05',\n '2022-02-06',\n '2022-04-03', // 清明节(3天)\n '2022-04-04',\n '2022-04-05',\n '2022-04-30', // 劳动节(5天)\n '2022-05-01',\n '2022-05-02',\n '2022-05-03',\n '2022-05-04',\n '2022-06-03', // 端午节(3天)\n '2022-06-04',\n '2022-06-05',\n '2022-09-10', // 中秋节(3天)\n '2022-09-11',\n '2022-09-12',\n '2022-10-01', // 国庆节(7天)\n '2022-10-02',\n '2022-10-03',\n '2022-10-04',\n '2022-10-05',\n '2022-10-06',\n '2022-10-07',\n];\n\n/**\n * 2022年,休息日上班日期\n */\nconst workdaysOf2022 = [\n '2022-01-29', // 星期六\n '2022-01-30', // 星期日\n '2022-04-02', // 星期六\n '2022-04-24', // 星期日\n '2022-05-07', // 星期六\n '2022-10-08', // 星期六\n '2022-10-09', // 星期日\n];\n\nexport { holidaysOf2022, workdaysOf2022 };\n","/**\n * 2021年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2021 = [\n '2021-01-01', // 元旦(3天)\n '2021-01-02',\n '2021-01-03',\n '2021-02-11', // 春节(7天)\n '2021-02-12',\n '2021-02-13',\n '2021-02-14',\n '2021-02-15',\n '2021-02-16',\n '2021-02-17',\n '2021-04-03', // 清明节(3天)\n '2021-04-04',\n '2021-04-05',\n '2021-05-01', // 劳动节(5天)\n '2021-05-02',\n '2021-05-03',\n '2021-05-04',\n '2021-05-05',\n '2021-06-12', // 端午节(3天)\n '2021-06-13',\n '2021-06-14',\n '2021-09-19', // 中秋节(3天)\n '2021-09-20',\n '2021-09-21',\n '2021-10-01', // 国庆节(7天)\n '2021-10-02',\n '2021-10-03',\n '2021-10-04',\n '2021-10-05',\n '2021-10-06',\n '2021-10-07',\n];\n\n/**\n * 2021年,休息日上班日期\n */\nconst workdaysOf2021 = [\n '2021-02-07', // 星期日\n '2021-02-20', // 星期六\n '2021-04-25', // 星期日\n '2021-05-08', // 星期六\n '2021-09-18', // 星期六\n '2021-09-26', // 星期日\n '2021-10-09', // 星期六\n];\n\nexport { holidaysOf2021, workdaysOf2021 };\n","/**\n * 2020年元旦、春节、清明节、劳动节、端午节、国庆节和中秋节放假调休日期\n */\nconst holidaysOf2020 = [\n '2020-01-01', // 元旦(1天)\n '2020-01-24', // 春节(7天)\n '2020-01-25',\n '2020-01-26',\n '2020-01-27',\n '2020-01-28',\n '2020-01-29',\n '2020-01-30',\n '2020-01-31', // 春节(延长3天)\n '2020-02-01',\n '2020-02-02',\n '2020-04-04', // 清明节(3天)\n '2020-04-05',\n '2020-04-06',\n '2020-05-01', // 劳动节(5天)\n '2020-05-02',\n '2020-05-03',\n '2020-05-04',\n '2020-05-05',\n '2020-06-25', // 端午节(3天)\n '2020-06-26',\n '2020-06-27',\n '2020-10-01', // 国庆节、中秋节(8天)\n '2020-10-02',\n '2020-10-03',\n '2020-10-04',\n '2020-10-05',\n '2020-10-06',\n '2020-10-07',\n '2020-10-08',\n];\n\n/**\n * 2020年,休息日上班日期\n */\nconst workdaysOf2020 = [\n '2020-01-19', // 星期日\n // '2020-02-01', // 星期六,原本上班,延长春节假期后改为放假\n '2020-04-26', // 星期日\n '2020-05-09', // 星期六\n '2020-06-28', // 星期日\n '2020-09-27', // 星期日\n '2020-10-10', // 星期六\n];\n\nexport { holidaysOf2020, workdaysOf2020 };\n","/**\n * 2019年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2019 = [\n '2019-01-01', // 元旦(3天)\n '2019-02-04', // 春节(7天)\n '2019-02-05',\n '2019-02-06',\n '2019-02-07',\n '2019-02-08',\n '2019-02-09',\n '2019-02-10',\n '2019-04-05', // 清明节,与周末连休\n '2019-05-01', // 劳动节(4天)\n '2019-05-02',\n '2019-05-03',\n '2019-05-04',\n '2019-06-07', // 端午节,与周末连休\n '2019-09-13', // 中秋节,与周末连休\n '2019-10-01', // 国庆节(7天)\n '2019-10-02',\n '2019-10-03',\n '2019-10-04',\n '2019-10-05',\n '2019-10-06',\n '2019-10-07',\n];\n\n/**\n * 2019年,休息日上班日期\n */\nconst workdaysOf2019 = [\n '2019-02-02', // 星期六\n '2019-02-03', // 星期日\n '2019-04-28', // 星期日\n '2019-05-05', // 星期日\n '2019-09-29', // 星期日\n '2019-10-12', // 星期六\n];\n\nexport { holidaysOf2019, workdaysOf2019 };\n","/**\n * 2018年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2018 = [\n '2018-01-01', // 元旦,与周末连休\n '2018-02-15', // 春节(7天)\n '2018-02-16',\n '2018-02-17',\n '2018-02-18',\n '2018-02-19',\n '2018-02-20',\n '2018-02-21',\n '2018-04-05',\n '2018-04-06',\n '2018-04-07',\n '2018-04-29', // 劳动节(3天)\n '2018-04-30',\n '2018-05-01',\n '2018-06-18', // 端午节,与周末连休\n '2018-09-24', // 中秋节,与周末连休\n '2018-10-01', // 国庆节(7天)\n '2018-10-02',\n '2018-10-03',\n '2018-10-04',\n '2018-10-05',\n '2018-10-06',\n '2018-10-07',\n '2018-12-30', // 元旦(3天)\n '2018-12-31',\n];\n\n/**\n * 2018年,休息日上班日期\n */\nconst workdaysOf2018 = [\n '2018-02-11', // 星期日\n '2018-02-24', // 星期六\n '2018-04-08', // 星期日\n '2018-04-28', // 星期六\n '2018-09-29', // 星期六\n '2018-09-30', // 星期日\n '2018-12-29', // 星期六\n];\n\nexport { holidaysOf2018, workdaysOf2018 };\n","/**\n * 2017年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2017 = [\n '2017-01-01', // 元旦\n '2017-01-02', // 补休\n '2017-01-27', // 春节(7天)\n '2017-01-28',\n '2017-01-29',\n '2017-01-30',\n '2017-01-31',\n '2017-02-01',\n '2017-02-02',\n '2017-04-02', // 清明节(3天)\n '2017-04-03',\n '2017-04-04',\n '2017-05-01', // 劳动节,与周末连休\n '2017-05-28', // 端午节(3天)\n '2017-05-29',\n '2017-05-30',\n '2017-10-01', // 中秋节、国庆节(8天)\n '2017-10-02',\n '2017-10-03',\n '2017-10-04',\n '2017-10-05',\n '2017-10-06',\n '2017-10-07',\n '2017-10-08',\n];\n\n/**\n * 2017年,休息日上班日期\n */\nconst workdaysOf2017 = [\n '2017-01-22', // 星期日\n '2017-02-04', // 星期六\n '2017-04-01', // 星期六\n '2017-05-27', // 星期六\n '2017-09-30', // 星期六\n];\n\nexport { holidaysOf2017, workdaysOf2017 };\n","/**\n * 2016年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2016 = [\n '2016-01-01', // 元旦,与周末连休\n '2016-02-07', // 春节(7天)\n '2016-02-08',\n '2016-02-09',\n '2016-02-10',\n '2016-02-11',\n '2016-02-12',\n '2016-02-13',\n '2016-04-04', // 清明节,与周末连休\n '2016-05-01', // 劳动节\n '2016-05-02', // 补休\n '2016-06-09', // 端午节(3天)\n '2016-06-10',\n '2016-06-11',\n '2016-09-15', // 中秋节(3天)\n '2016-09-16',\n '2016-09-17',\n '2016-10-01', // 国庆节(7天)\n '2016-10-02',\n '2016-10-03',\n '2016-10-04',\n '2016-10-05',\n '2016-10-06',\n '2016-10-07',\n];\n\n/**\n * 2016年,休息日上班日期\n */\nconst workdaysOf2016 = [\n '2016-02-06', // 星期六\n '2016-02-14', // 星期日\n '2016-06-12', // 星期日\n '2016-09-18', // 星期日\n '2016-10-08', // 星期六\n '2016-10-09', // 星期日\n];\n\nexport { holidaysOf2016, workdaysOf2016 };\n"],"names":["holidaysOfLaw","holidayMap","Map","holidays","workdays","isHoliday","date","holidayMapValue","dateWrapper","Date","year","getFullYear","month","getMonth","toString","padStart","dayOfMonth","getDate","dateFormatted","has","get","_holidayMapValue$holi","_holidayMapValue$work","includes","console","log","getDay"],"mappings":"oEAGA,ICOaA,EAAgB,CAAC,QAAS,QAAS,QAAS,QAAS,SCI5DC,EAAa,IAAIC,IAAI,CACzB,CAAC,KAAM,CAAEC,SFZY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cErBmCC,SF2Bd,CACrB,aACA,aACA,aACA,aACA,aACA,gBEhCA,CAAC,KAAM,CAAED,SCbY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cDfmCC,SCqBd,CACrB,aACA,aACA,aACA,aACA,gBDzBA,CAAC,KAAM,CAAED,SEdY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cFdmCC,SEoBd,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,gBF3BA,CAAC,KAAM,CAAED,SGfY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cHVmCC,SGgBd,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,gBHtBA,CAAC,KAAM,CAAED,SIhBY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cJfmCC,SIqBd,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,gBJ3BA,CAAC,KAAM,CAAED,SKjBY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cLdmCC,SKoBd,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,gBL1BA,CAAC,KAAM,CAAED,SMlBY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cNZmCC,SMkBd,CACrB,aAEA,aACA,aACA,aACA,aACA,gBNxBA,CAAC,KAAM,CAAED,SOnBY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cPHmCC,SOSd,CACrB,aACA,aACA,aACA,aACA,aACA,gBPdA,CAAC,KAAM,CAAED,SQpBY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cRLmCC,SQWd,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,gBRjBA,CAAC,KAAM,CAAED,SSrBY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cTHmCC,SSSd,CACrB,aACA,aACA,aACA,aACA,gBTbA,CAAC,KAAM,CAAED,SUtBY,CACrB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,cVFmCC,SUQd,CACrB,aACA,aACA,aACA,aACA,aACA,2BVRcC,EAAUC,GACxB,IAQIC,EAREC,EAAc,IAAIC,KAAKH,GACvBI,EAAOF,EAAYG,cACnBC,GAASJ,EAAYK,WAAa,GAAGC,SAAS,IAAIC,SAAS,EAAG,KAC9DC,EAAaR,EAChBS,UACAH,SAAS,IACTC,SAAS,EAAG,KACTG,EAAmBR,MAAQE,MAASI,EAE1C,GAAIf,EAAWkB,IAAIT,KAAUH,EAAkBN,EAAWmB,IAAIV,IAAQ,CACpE,IAAwDW,EAAfd,EAAjCJ,SAAamB,EAAoBf,EAAlBH,SAAAA,WAAQkB,EAAG,GAAEA,EAEpC,aAFgBD,EAAG,GAAEA,GAERE,SAASL,GACpB,OAAO,EAGT,GAAId,EAASmB,SAASL,GACpB,OAAO,MAEJ,CAGL,GAAIlB,EAAcuB,SAFEX,MAASI,GAG3B,OAAO,EAEPQ,QAAQC,qCAC2Bf,eAKvC,QAAI,CAAC,EAAG,GAAGa,SAASf,EAAYkB,yDASRpB,GACxB,OAAQD,EAAUC"}
|
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 2026年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
3
|
+
*/
|
|
4
|
+
var holidaysOf2026 = ['2026-01-01', '2026-01-02', '2026-01-03', '2026-02-15', '2026-02-16', '2026-02-17', '2026-02-18', '2026-02-19', '2026-02-20', '2026-02-21', '2026-02-22', '2026-02-23', '2026-04-04', '2026-04-05', '2026-04-06', '2026-05-01', '2026-05-02', '2026-05-03', '2026-05-04', '2026-05-05', '2026-06-19', '2026-06-20', '2026-06-21', '2026-09-25', '2026-09-26', '2026-09-27', '2026-10-01', '2026-10-02', '2026-10-03', '2026-10-04', '2026-10-05', '2026-10-06', '2026-10-07'];
|
|
5
|
+
/**
|
|
6
|
+
* 2026年,休息日上班日期
|
|
7
|
+
*/
|
|
8
|
+
var workdaysOf2026 = ['2026-01-04', '2026-02-14', '2026-02-28', '2026-05-09', '2026-09-20', '2026-10-10'];
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 2025年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
12
|
+
*/
|
|
13
|
+
var holidaysOf2025 = ['2025-01-01', '2025-01-28', '2025-01-29', '2025-01-30', '2025-01-31', '2025-02-01', '2025-02-02', '2025-02-03', '2025-02-04', '2025-04-04', '2025-04-05', '2025-04-06', '2025-05-01', '2025-05-02', '2025-05-03', '2025-05-04', '2025-05-05', '2025-05-31', '2025-06-01', '2025-06-02', '2025-10-01', '2025-10-02', '2025-10-03', '2025-10-04', '2025-10-05', '2025-10-06', '2025-10-07', '2025-10-08'];
|
|
14
|
+
/**
|
|
15
|
+
* 2025年,休息日上班日期
|
|
16
|
+
*/
|
|
17
|
+
var workdaysOf2025 = ['2025-01-26', '2025-02-08', '2025-04-27', '2025-09-28', '2025-10-11'];
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 2024年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
21
|
+
*/
|
|
22
|
+
var holidaysOf2024 = ['2024-01-01', '2024-02-10', '2024-02-11', '2024-02-12', '2024-02-13', '2024-02-14', '2024-02-15', '2024-02-16', '2024-02-17', '2024-04-04', '2024-04-05', '2024-04-06', '2024-05-01', '2024-05-02', '2024-05-03', '2024-05-04', '2024-05-05', '2024-06-10', '2024-09-15', '2024-09-16', '2024-09-17', '2024-10-01', '2024-10-02', '2024-10-03', '2024-10-04', '2024-10-05', '2024-10-06', '2024-10-07'];
|
|
23
|
+
/**
|
|
24
|
+
* 2024年,休息日上班日期
|
|
25
|
+
*/
|
|
26
|
+
var workdaysOf2024 = ['2024-02-04', '2024-02-18', '2024-04-07', '2024-04-28', '2024-05-11', '2024-09-14', '2024-09-29', '2024-10-12'];
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* 2023年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
30
|
+
*/
|
|
31
|
+
var holidaysOf2023 = ['2023-01-01', '2023-01-21', '2023-01-22', '2023-01-23', '2023-01-24', '2023-01-25', '2023-01-26', '2023-01-27', '2023-04-05', '2023-04-29', '2023-04-30', '2023-05-01', '2023-05-02', '2023-05-03', '2023-06-22', '2023-06-23', '2023-06-24', '2023-09-29', '2023-09-30', '2023-10-01', '2023-10-02', '2023-10-03', '2023-10-04', '2023-10-05', '2023-10-06'];
|
|
32
|
+
/**
|
|
33
|
+
* 2023年,休息日上班日期
|
|
34
|
+
*/
|
|
35
|
+
var workdaysOf2023 = ['2023-01-28', '2023-01-29', '2023-04-23', '2023-05-06', '2023-06-25', '2023-10-07', '2023-10-08'];
|
|
36
|
+
|
|
1
37
|
/**
|
|
2
38
|
* 2022年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
3
39
|
*/
|
|
@@ -5,7 +41,6 @@ var holidaysOf2022 = ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-31', '2
|
|
|
5
41
|
/**
|
|
6
42
|
* 2022年,休息日上班日期
|
|
7
43
|
*/
|
|
8
|
-
|
|
9
44
|
var workdaysOf2022 = ['2022-01-29', '2022-01-30', '2022-04-02', '2022-04-24', '2022-05-07', '2022-10-08', '2022-10-09'];
|
|
10
45
|
|
|
11
46
|
/**
|
|
@@ -15,7 +50,6 @@ var holidaysOf2021 = ['2021-01-01', '2021-01-02', '2021-01-03', '2021-02-11', '2
|
|
|
15
50
|
/**
|
|
16
51
|
* 2021年,休息日上班日期
|
|
17
52
|
*/
|
|
18
|
-
|
|
19
53
|
var workdaysOf2021 = ['2021-02-07', '2021-02-20', '2021-04-25', '2021-05-08', '2021-09-18', '2021-09-26', '2021-10-09'];
|
|
20
54
|
|
|
21
55
|
/**
|
|
@@ -25,8 +59,8 @@ var holidaysOf2020 = ['2020-01-01', '2020-01-24', '2020-01-25', '2020-01-26', '2
|
|
|
25
59
|
/**
|
|
26
60
|
* 2020年,休息日上班日期
|
|
27
61
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
62
|
+
var workdaysOf2020 = ['2020-01-19',
|
|
63
|
+
// '2020-02-01', // 星期六,原本上班,延长春节假期后改为放假
|
|
30
64
|
'2020-04-26', '2020-05-09', '2020-06-28', '2020-09-27', '2020-10-10'];
|
|
31
65
|
|
|
32
66
|
/**
|
|
@@ -36,7 +70,6 @@ var holidaysOf2019 = ['2019-01-01', '2019-02-04', '2019-02-05', '2019-02-06', '2
|
|
|
36
70
|
/**
|
|
37
71
|
* 2019年,休息日上班日期
|
|
38
72
|
*/
|
|
39
|
-
|
|
40
73
|
var workdaysOf2019 = ['2019-02-02', '2019-02-03', '2019-04-28', '2019-05-05', '2019-09-29', '2019-10-12'];
|
|
41
74
|
|
|
42
75
|
/**
|
|
@@ -46,7 +79,6 @@ var holidaysOf2018 = ['2018-01-01', '2018-02-15', '2018-02-16', '2018-02-17', '2
|
|
|
46
79
|
/**
|
|
47
80
|
* 2018年,休息日上班日期
|
|
48
81
|
*/
|
|
49
|
-
|
|
50
82
|
var workdaysOf2018 = ['2018-02-11', '2018-02-24', '2018-04-08', '2018-04-28', '2018-09-29', '2018-09-30', '2018-12-29'];
|
|
51
83
|
|
|
52
84
|
/**
|
|
@@ -56,7 +88,6 @@ var holidaysOf2017 = ['2017-01-01', '2017-01-02', '2017-01-27', '2017-01-28', '2
|
|
|
56
88
|
/**
|
|
57
89
|
* 2017年,休息日上班日期
|
|
58
90
|
*/
|
|
59
|
-
|
|
60
91
|
var workdaysOf2017 = ['2017-01-22', '2017-02-04', '2017-04-01', '2017-05-27', '2017-09-30'];
|
|
61
92
|
|
|
62
93
|
/**
|
|
@@ -66,7 +97,6 @@ var holidaysOf2016 = ['2016-01-01', '2016-02-07', '2016-02-08', '2016-02-09', '2
|
|
|
66
97
|
/**
|
|
67
98
|
* 2016年,休息日上班日期
|
|
68
99
|
*/
|
|
69
|
-
|
|
70
100
|
var workdaysOf2016 = ['2016-02-06', '2016-02-14', '2016-06-12', '2016-09-18', '2016-10-08', '2016-10-09'];
|
|
71
101
|
|
|
72
102
|
/**
|
|
@@ -81,7 +111,19 @@ var workdaysOf2016 = ['2016-02-06', '2016-02-14', '2016-06-12', '2016-09-18', '2
|
|
|
81
111
|
*/
|
|
82
112
|
var holidaysOfLaw = ['01-01', '05-01', '10-01', '10-02', '10-03'];
|
|
83
113
|
|
|
84
|
-
var holidayMap = /*#__PURE__*/new Map([[
|
|
114
|
+
var holidayMap = /*#__PURE__*/new Map([[2026, {
|
|
115
|
+
holidays: holidaysOf2026,
|
|
116
|
+
workdays: workdaysOf2026
|
|
117
|
+
}], [2025, {
|
|
118
|
+
holidays: holidaysOf2025,
|
|
119
|
+
workdays: workdaysOf2025
|
|
120
|
+
}], [2024, {
|
|
121
|
+
holidays: holidaysOf2024,
|
|
122
|
+
workdays: workdaysOf2024
|
|
123
|
+
}], [2023, {
|
|
124
|
+
holidays: holidaysOf2023,
|
|
125
|
+
workdays: workdaysOf2023
|
|
126
|
+
}], [2022, {
|
|
85
127
|
holidays: holidaysOf2022,
|
|
86
128
|
workdays: workdaysOf2022
|
|
87
129
|
}], [2021, {
|
|
@@ -106,53 +148,45 @@ var holidayMap = /*#__PURE__*/new Map([[2022, {
|
|
|
106
148
|
/**
|
|
107
149
|
* 判断是否为法定节假日,包括调休放假
|
|
108
150
|
*/
|
|
109
|
-
|
|
110
151
|
function isHoliday(date) {
|
|
111
152
|
var dateWrapper = new Date(date);
|
|
112
153
|
var year = dateWrapper.getFullYear();
|
|
113
154
|
var month = (dateWrapper.getMonth() + 1).toString(10).padStart(2, '0');
|
|
114
155
|
var dayOfMonth = dateWrapper.getDate().toString(10).padStart(2, '0');
|
|
115
156
|
var dateFormatted = year + "-" + month + "-" + dayOfMonth; // 'YYYY-MM-DD'
|
|
116
|
-
|
|
117
157
|
var holidayMapValue;
|
|
118
|
-
|
|
119
158
|
if (holidayMap.has(year) && (holidayMapValue = holidayMap.get(year))) {
|
|
120
159
|
var _holidayMapValue = holidayMapValue,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
160
|
+
_holidayMapValue$holi = _holidayMapValue.holidays,
|
|
161
|
+
holidays = _holidayMapValue$holi === void 0 ? [] : _holidayMapValue$holi,
|
|
162
|
+
_holidayMapValue$work = _holidayMapValue.workdays,
|
|
163
|
+
workdays = _holidayMapValue$work === void 0 ? [] : _holidayMapValue$work;
|
|
164
|
+
// 法定放假
|
|
126
165
|
if (holidays.includes(dateFormatted)) {
|
|
127
166
|
return true;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
|
|
167
|
+
}
|
|
168
|
+
// 法定上班
|
|
131
169
|
if (workdays.includes(dateFormatted)) {
|
|
132
170
|
return false;
|
|
133
171
|
}
|
|
134
172
|
} else {
|
|
135
173
|
var monthDay = month + "-" + dayOfMonth; // 'MM-DD'
|
|
136
174
|
// 法定公历假期
|
|
137
|
-
|
|
138
175
|
if (holidaysOfLaw.includes(monthDay)) {
|
|
139
176
|
return true;
|
|
140
177
|
} else {
|
|
141
178
|
console.log("[public-holidays-cn] \u6682\u65F6\u65E0\u6CD5\u51C6\u786E\u5224\u65AD " + year + " \u5E74\u5EA6\u7684\u6CD5\u5B9A\u8282\u5047\u65E5");
|
|
142
179
|
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
|
|
180
|
+
}
|
|
181
|
+
// 正常双休日
|
|
146
182
|
if ([0, 6].includes(dateWrapper.getDay())) {
|
|
147
183
|
return true;
|
|
148
184
|
}
|
|
149
|
-
|
|
150
185
|
return false;
|
|
151
186
|
}
|
|
152
187
|
/**
|
|
153
188
|
* 判断是否是工作日,包括调休上班
|
|
154
189
|
*/
|
|
155
|
-
|
|
156
190
|
function isWorkday(date) {
|
|
157
191
|
return !isHoliday(date);
|
|
158
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-holidays-cn.esm.js","sources":["../src/2022.ts","../src/2021.ts","../src/2020.ts","../src/2019.ts","../src/2018.ts","../src/2017.ts","../src/2016.ts","../src/common.ts","../src/index.ts"],"sourcesContent":["/**\n * 2022年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2022 = [\n '2022-01-01', // 元旦(3天)\n '2022-01-02',\n '2022-01-03',\n '2022-01-31', // 春节(7天)\n '2022-02-01',\n '2022-02-02',\n '2022-02-03',\n '2022-02-04',\n '2022-02-05',\n '2022-02-06',\n '2022-04-03', // 清明节(3天)\n '2022-04-04',\n '2022-04-05',\n '2022-04-30', // 劳动节(5天)\n '2022-05-01',\n '2022-05-02',\n '2022-05-03',\n '2022-05-04',\n '2022-06-03', // 端午节(3天)\n '2022-06-04',\n '2022-06-05',\n '2022-09-10', // 中秋节(3天)\n '2022-09-11',\n '2022-09-12',\n '2022-10-01', // 国庆节(7天)\n '2022-10-02',\n '2022-10-03',\n '2022-10-04',\n '2022-10-05',\n '2022-10-06',\n '2022-10-07',\n];\n\n/**\n * 2022年,休息日上班日期\n */\nconst workdaysOf2022 = [\n '2022-01-29', // 星期六\n '2022-01-30', // 星期日\n '2022-04-02', // 星期六\n '2022-04-24', // 星期日\n '2022-05-07', // 星期六\n '2022-10-08', // 星期六\n '2022-10-09', // 星期日\n];\n\nexport { holidaysOf2022, workdaysOf2022 };\n","/**\n * 2021年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2021 = [\n '2021-01-01', // 元旦(3天)\n '2021-01-02',\n '2021-01-03',\n '2021-02-11', // 春节(7天)\n '2021-02-12',\n '2021-02-13',\n '2021-02-14',\n '2021-02-15',\n '2021-02-16',\n '2021-02-17',\n '2021-04-03', // 清明节(3天)\n '2021-04-04',\n '2021-04-05',\n '2021-05-01', // 劳动节(5天)\n '2021-05-02',\n '2021-05-03',\n '2021-05-04',\n '2021-05-05',\n '2021-06-12', // 端午节(3天)\n '2021-06-13',\n '2021-06-14',\n '2021-09-19', // 中秋节(3天)\n '2021-09-20',\n '2021-09-21',\n '2021-10-01', // 国庆节(7天)\n '2021-10-02',\n '2021-10-03',\n '2021-10-04',\n '2021-10-05',\n '2021-10-06',\n '2021-10-07',\n];\n\n/**\n * 2021年,休息日上班日期\n */\nconst workdaysOf2021 = [\n '2021-02-07', // 星期日\n '2021-02-20', // 星期六\n '2021-04-25', // 星期日\n '2021-05-08', // 星期六\n '2021-09-18', // 星期六\n '2021-09-26', // 星期日\n '2021-10-09', // 星期六\n];\n\nexport { holidaysOf2021, workdaysOf2021 };\n","/**\n * 2020年元旦、春节、清明节、劳动节、端午节、国庆节和中秋节放假调休日期\n */\nconst holidaysOf2020 = [\n '2020-01-01', // 元旦(1天)\n '2020-01-24', // 春节(7天)\n '2020-01-25',\n '2020-01-26',\n '2020-01-27',\n '2020-01-28',\n '2020-01-29',\n '2020-01-30',\n '2020-01-31', // 春节(延长3天)\n '2020-02-01',\n '2020-02-02',\n '2020-04-04', // 清明节(3天)\n '2020-04-05',\n '2020-04-06',\n '2020-05-01', // 劳动节(5天)\n '2020-05-02',\n '2020-05-03',\n '2020-05-04',\n '2020-05-05',\n '2020-06-25', // 端午节(3天)\n '2020-06-26',\n '2020-06-27',\n '2020-10-01', // 国庆节、中秋节(8天)\n '2020-10-02',\n '2020-10-03',\n '2020-10-04',\n '2020-10-05',\n '2020-10-06',\n '2020-10-07',\n '2020-10-08',\n];\n\n/**\n * 2020年,休息日上班日期\n */\nconst workdaysOf2020 = [\n '2020-01-19', // 星期日\n // '2020-02-01', // 星期六,原本上班,延长春节假期后改为放假\n '2020-04-26', // 星期日\n '2020-05-09', // 星期六\n '2020-06-28', // 星期日\n '2020-09-27', // 星期日\n '2020-10-10', // 星期六\n];\n\nexport { holidaysOf2020, workdaysOf2020 };\n","/**\n * 2019年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2019 = [\n '2019-01-01', // 元旦(3天)\n '2019-02-04', // 春节(7天)\n '2019-02-05',\n '2019-02-06',\n '2019-02-07',\n '2019-02-08',\n '2019-02-09',\n '2019-02-10',\n '2019-04-05', // 清明节,与周末连休\n '2019-05-01', // 劳动节(4天)\n '2019-05-02',\n '2019-05-03',\n '2019-05-04',\n '2019-06-07', // 端午节,与周末连休\n '2019-09-13', // 中秋节,与周末连休\n '2019-10-01', // 国庆节(7天)\n '2019-10-02',\n '2019-10-03',\n '2019-10-04',\n '2019-10-05',\n '2019-10-06',\n '2019-10-07',\n];\n\n/**\n * 2019年,休息日上班日期\n */\nconst workdaysOf2019 = [\n '2019-02-02', // 星期六\n '2019-02-03', // 星期日\n '2019-04-28', // 星期日\n '2019-05-05', // 星期日\n '2019-09-29', // 星期日\n '2019-10-12', // 星期六\n];\n\nexport { holidaysOf2019, workdaysOf2019 };\n","/**\n * 2018年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2018 = [\n '2018-01-01', // 元旦,与周末连休\n '2018-02-15', // 春节(7天)\n '2018-02-16',\n '2018-02-17',\n '2018-02-18',\n '2018-02-19',\n '2018-02-20',\n '2018-02-21',\n '2018-04-05',\n '2018-04-06',\n '2018-04-07',\n '2018-04-29', // 劳动节(3天)\n '2018-04-30',\n '2018-05-01',\n '2018-06-18', // 端午节,与周末连休\n '2018-09-24', // 中秋节,与周末连休\n '2018-10-01', // 国庆节(7天)\n '2018-10-02',\n '2018-10-03',\n '2018-10-04',\n '2018-10-05',\n '2018-10-06',\n '2018-10-07',\n '2018-12-30', // 元旦(3天)\n '2018-12-31',\n];\n\n/**\n * 2018年,休息日上班日期\n */\nconst workdaysOf2018 = [\n '2018-02-11', // 星期日\n '2018-02-24', // 星期六\n '2018-04-08', // 星期日\n '2018-04-28', // 星期六\n '2018-09-29', // 星期六\n '2018-09-30', // 星期日\n '2018-12-29', // 星期六\n];\n\nexport { holidaysOf2018, workdaysOf2018 };\n","/**\n * 2017年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2017 = [\n '2017-01-01', // 元旦\n '2017-01-02', // 补休\n '2017-01-27', // 春节(7天)\n '2017-01-28',\n '2017-01-29',\n '2017-01-30',\n '2017-01-31',\n '2017-02-01',\n '2017-02-02',\n '2017-04-02', // 清明节(3天)\n '2017-04-03',\n '2017-04-04',\n '2017-05-01', // 劳动节,与周末连休\n '2017-05-28', // 端午节(3天)\n '2017-05-29',\n '2017-05-30',\n '2017-10-01', // 中秋节、国庆节(8天)\n '2017-10-02',\n '2017-10-03',\n '2017-10-04',\n '2017-10-05',\n '2017-10-06',\n '2017-10-07',\n '2017-10-08',\n];\n\n/**\n * 2017年,休息日上班日期\n */\nconst workdaysOf2017 = [\n '2017-01-22', // 星期日\n '2017-02-04', // 星期六\n '2017-04-01', // 星期六\n '2017-05-27', // 星期六\n '2017-09-30', // 星期六\n];\n\nexport { holidaysOf2017, workdaysOf2017 };\n","/**\n * 2016年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2016 = [\n '2016-01-01', // 元旦,与周末连休\n '2016-02-07', // 春节(7天)\n '2016-02-08',\n '2016-02-09',\n '2016-02-10',\n '2016-02-11',\n '2016-02-12',\n '2016-02-13',\n '2016-04-04', // 清明节,与周末连休\n '2016-05-01', // 劳动节\n '2016-05-02', // 补休\n '2016-06-09', // 端午节(3天)\n '2016-06-10',\n '2016-06-11',\n '2016-09-15', // 中秋节(3天)\n '2016-09-16',\n '2016-09-17',\n '2016-10-01', // 国庆节(7天)\n '2016-10-02',\n '2016-10-03',\n '2016-10-04',\n '2016-10-05',\n '2016-10-06',\n '2016-10-07',\n];\n\n/**\n * 2016年,休息日上班日期\n */\nconst workdaysOf2016 = [\n '2016-02-06', // 星期六\n '2016-02-14', // 星期日\n '2016-06-12', // 星期日\n '2016-09-18', // 星期日\n '2016-10-08', // 星期六\n '2016-10-09', // 星期日\n];\n\nexport { holidaysOf2016, workdaysOf2016 };\n","/**\n * 全国年节及纪念日放假办法假期\n * - 新年,放假1天(1月1日)\n * - 春节,放假3天(农历正月初一、初二、初三)\n * - 清明节,放假1天(农历清明当日)\n * - 劳动节,放假1天(5月1日)\n * - 端午节,放假1天(农历端午当日)\n * - 中秋节,放假1天(农历中秋当日)\n * - 国庆节,放假3天(10月1日、2日、3日)\n */\nconst holidaysOfLaw = ['01-01', '05-01', '10-01', '10-02', '10-03'];\n\nexport { holidaysOfLaw };\n","import { holidaysOf2022, workdaysOf2022 } from './2022';\nimport { holidaysOf2021, workdaysOf2021 } from './2021';\nimport { holidaysOf2020, workdaysOf2020 } from './2020';\nimport { holidaysOf2019, workdaysOf2019 } from './2019';\nimport { holidaysOf2018, workdaysOf2018 } from './2018';\nimport { holidaysOf2017, workdaysOf2017 } from './2017';\nimport { holidaysOf2016, workdaysOf2016 } from './2016';\nimport { holidaysOfLaw } from './common';\n\ntype TimeValue = Date | string | number;\n\nconst holidayMap = new Map([\n [2022, { holidays: holidaysOf2022, workdays: workdaysOf2022 }],\n [2021, { holidays: holidaysOf2021, workdays: workdaysOf2021 }],\n [2020, { holidays: holidaysOf2020, workdays: workdaysOf2020 }],\n [2019, { holidays: holidaysOf2019, workdays: workdaysOf2019 }],\n [2018, { holidays: holidaysOf2018, workdays: workdaysOf2018 }],\n [2017, { holidays: holidaysOf2017, workdays: workdaysOf2017 }],\n [2016, { holidays: holidaysOf2016, workdays: workdaysOf2016 }],\n]);\n\n/**\n * 判断是否为法定节假日,包括调休放假\n */\nexport function isHoliday(date: TimeValue): boolean {\n const dateWrapper = new Date(date);\n const year = dateWrapper.getFullYear();\n const month = (dateWrapper.getMonth() + 1).toString(10).padStart(2, '0');\n const dayOfMonth = dateWrapper\n .getDate()\n .toString(10)\n .padStart(2, '0');\n const dateFormatted = `${year}-${month}-${dayOfMonth}`; // 'YYYY-MM-DD'\n let holidayMapValue: ReturnType<typeof holidayMap.get>;\n if (holidayMap.has(year) && (holidayMapValue = holidayMap.get(year))) {\n const { holidays = [], workdays = [] } = holidayMapValue;\n // 法定放假\n if (holidays.includes(dateFormatted)) {\n return true;\n }\n // 法定上班\n if (workdays.includes(dateFormatted)) {\n return false;\n }\n } else {\n const monthDay = `${month}-${dayOfMonth}`; // 'MM-DD'\n // 法定公历假期\n if (holidaysOfLaw.includes(monthDay)) {\n return true;\n } else {\n console.log(\n `[public-holidays-cn] 暂时无法准确判断 ${year} 年度的法定节假日`\n );\n }\n }\n // 正常双休日\n if ([0, 6].includes(dateWrapper.getDay())) {\n return true;\n }\n return false;\n}\n\n/**\n * 判断是否是工作日,包括调休上班\n */\nexport function isWorkday(date: TimeValue): boolean {\n return !isHoliday(date);\n}\n"],"names":["holidaysOf2022","workdaysOf2022","holidaysOf2021","workdaysOf2021","holidaysOf2020","workdaysOf2020","holidaysOf2019","workdaysOf2019","holidaysOf2018","workdaysOf2018","holidaysOf2017","workdaysOf2017","holidaysOf2016","workdaysOf2016","holidaysOfLaw","holidayMap","Map","holidays","workdays","isHoliday","date","dateWrapper","Date","year","getFullYear","month","getMonth","toString","padStart","dayOfMonth","getDate","dateFormatted","holidayMapValue","has","get","includes","monthDay","console","log","getDay","isWorkday"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"public-holidays-cn.esm.js","sources":["../src/2026.ts","../src/2025.ts","../src/2024.ts","../src/2023.ts","../src/2022.ts","../src/2021.ts","../src/2020.ts","../src/2019.ts","../src/2018.ts","../src/2017.ts","../src/2016.ts","../src/common.ts","../src/index.ts"],"sourcesContent":["/**\n * 2026年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2026 = [\n '2026-01-01', // 元旦(3天)\n '2026-01-02',\n '2026-01-03',\n '2026-02-15', // 春节(9天)\n '2026-02-16',\n '2026-02-17',\n '2026-02-18',\n '2026-02-19',\n '2026-02-20',\n '2026-02-21',\n '2026-02-22',\n '2026-02-23',\n '2026-04-04', // 清明节(3天)\n '2026-04-05',\n '2026-04-06',\n '2026-05-01', // 劳动节(5天)\n '2026-05-02',\n '2026-05-03',\n '2026-05-04',\n '2026-05-05',\n '2026-06-19', // 端午节(3天)\n '2026-06-20',\n '2026-06-21',\n '2026-09-25', // 中秋节(3天)\n '2026-09-26',\n '2026-09-27',\n '2026-10-01', // 国庆节(7天)\n '2026-10-02',\n '2026-10-03',\n '2026-10-04',\n '2026-10-05',\n '2026-10-06',\n '2026-10-07',\n];\n\n/**\n * 2026年,休息日上班日期\n */\nconst workdaysOf2026 = [\n '2026-01-04', // 周日\n '2026-02-14', // 周六\n '2026-02-28', // 周六\n '2026-05-09', // 周六\n '2026-09-20', // 周日\n '2026-10-10', // 周六\n];\n\nexport { holidaysOf2026, workdaysOf2026 };\n","/**\n * 2025年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2025 = [\n '2025-01-01', // 元旦(1天)\n '2025-01-28', // 春节(8天)\n '2025-01-29',\n '2025-01-30',\n '2025-01-31',\n '2025-02-01',\n '2025-02-02',\n '2025-02-03',\n '2025-02-04',\n '2025-04-04', // 清明节(3天)\n '2025-04-05',\n '2025-04-06',\n '2025-05-01', // 劳动节(5天)\n '2025-05-02',\n '2025-05-03',\n '2025-05-04',\n '2025-05-05',\n '2025-05-31', // 端午节(3天)\n '2025-06-01',\n '2025-06-02',\n '2025-10-01', // 国庆节、中秋节(8天)\n '2025-10-02',\n '2025-10-03',\n '2025-10-04',\n '2025-10-05',\n '2025-10-06',\n '2025-10-07',\n '2025-10-08',\n];\n\n/**\n * 2025年,休息日上班日期\n */\nconst workdaysOf2025 = [\n '2025-01-26', // 周日\n '2025-02-08', // 周六\n '2025-04-27', // 周日\n '2025-09-28', // 周日\n '2025-10-11', // 周六\n];\n\nexport { holidaysOf2025, workdaysOf2025 };\n","/**\n * 2024年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2024 = [\n '2024-01-01', // 元旦(1天)\n '2024-02-10', // 春节(8天)\n '2024-02-11',\n '2024-02-12',\n '2024-02-13',\n '2024-02-14',\n '2024-02-15',\n '2024-02-16',\n '2024-02-17',\n '2024-04-04', // 清明节(3天)\n '2024-04-05',\n '2024-04-06',\n '2024-05-01', // 劳动节(5天)\n '2024-05-02',\n '2024-05-03',\n '2024-05-04',\n '2024-05-05',\n '2024-06-10', // 端午节(1天)\n '2024-09-15', // 中秋节(3天)\n '2024-09-16',\n '2024-09-17',\n '2024-10-01', // 国庆节(7天)\n '2024-10-02',\n '2024-10-03',\n '2024-10-04',\n '2024-10-05',\n '2024-10-06',\n '2024-10-07',\n];\n\n/**\n * 2024年,休息日上班日期\n */\nconst workdaysOf2024 = [\n '2024-02-04', // 星期日\n '2024-02-18', // 星期日\n '2024-04-07', // 星期日\n '2024-04-28', // 星期日\n '2024-05-11', // 星期六\n '2024-09-14', // 星期六\n '2024-09-29', // 星期日\n '2024-10-12', // 星期六\n];\n\nexport { holidaysOf2024, workdaysOf2024 };\n","/**\n * 2023年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2023 = [\n '2023-01-01', // 元旦(1天)\n '2023-01-21', // 春节(7天)\n '2023-01-22',\n '2023-01-23',\n '2023-01-24',\n '2023-01-25',\n '2023-01-26',\n '2023-01-27',\n '2023-04-05', // 清明节(1天)\n '2023-04-29',\n '2023-04-30',\n '2023-05-01', // 劳动节(5天)\n '2023-05-02',\n '2023-05-03',\n '2023-06-22', // 端午节(3天)\n '2023-06-23',\n '2023-06-24',\n '2023-09-29', // 国庆节、中秋节(8天)\n '2023-09-30',\n '2023-10-01',\n '2023-10-02',\n '2023-10-03',\n '2023-10-04',\n '2023-10-05',\n '2023-10-06',\n];\n\n/**\n * 2023年,休息日上班日期\n */\nconst workdaysOf2023 = [\n '2023-01-28', // 星期六\n '2023-01-29', // 星期日\n '2023-04-23', // 星期日\n '2023-05-06', // 星期六\n '2023-06-25', // 星期日\n '2023-10-07', // 星期六\n '2023-10-08', // 星期日\n];\n\nexport { holidaysOf2023, workdaysOf2023 };\n","/**\n * 2022年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2022 = [\n '2022-01-01', // 元旦(3天)\n '2022-01-02',\n '2022-01-03',\n '2022-01-31', // 春节(7天)\n '2022-02-01',\n '2022-02-02',\n '2022-02-03',\n '2022-02-04',\n '2022-02-05',\n '2022-02-06',\n '2022-04-03', // 清明节(3天)\n '2022-04-04',\n '2022-04-05',\n '2022-04-30', // 劳动节(5天)\n '2022-05-01',\n '2022-05-02',\n '2022-05-03',\n '2022-05-04',\n '2022-06-03', // 端午节(3天)\n '2022-06-04',\n '2022-06-05',\n '2022-09-10', // 中秋节(3天)\n '2022-09-11',\n '2022-09-12',\n '2022-10-01', // 国庆节(7天)\n '2022-10-02',\n '2022-10-03',\n '2022-10-04',\n '2022-10-05',\n '2022-10-06',\n '2022-10-07',\n];\n\n/**\n * 2022年,休息日上班日期\n */\nconst workdaysOf2022 = [\n '2022-01-29', // 星期六\n '2022-01-30', // 星期日\n '2022-04-02', // 星期六\n '2022-04-24', // 星期日\n '2022-05-07', // 星期六\n '2022-10-08', // 星期六\n '2022-10-09', // 星期日\n];\n\nexport { holidaysOf2022, workdaysOf2022 };\n","/**\n * 2021年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2021 = [\n '2021-01-01', // 元旦(3天)\n '2021-01-02',\n '2021-01-03',\n '2021-02-11', // 春节(7天)\n '2021-02-12',\n '2021-02-13',\n '2021-02-14',\n '2021-02-15',\n '2021-02-16',\n '2021-02-17',\n '2021-04-03', // 清明节(3天)\n '2021-04-04',\n '2021-04-05',\n '2021-05-01', // 劳动节(5天)\n '2021-05-02',\n '2021-05-03',\n '2021-05-04',\n '2021-05-05',\n '2021-06-12', // 端午节(3天)\n '2021-06-13',\n '2021-06-14',\n '2021-09-19', // 中秋节(3天)\n '2021-09-20',\n '2021-09-21',\n '2021-10-01', // 国庆节(7天)\n '2021-10-02',\n '2021-10-03',\n '2021-10-04',\n '2021-10-05',\n '2021-10-06',\n '2021-10-07',\n];\n\n/**\n * 2021年,休息日上班日期\n */\nconst workdaysOf2021 = [\n '2021-02-07', // 星期日\n '2021-02-20', // 星期六\n '2021-04-25', // 星期日\n '2021-05-08', // 星期六\n '2021-09-18', // 星期六\n '2021-09-26', // 星期日\n '2021-10-09', // 星期六\n];\n\nexport { holidaysOf2021, workdaysOf2021 };\n","/**\n * 2020年元旦、春节、清明节、劳动节、端午节、国庆节和中秋节放假调休日期\n */\nconst holidaysOf2020 = [\n '2020-01-01', // 元旦(1天)\n '2020-01-24', // 春节(7天)\n '2020-01-25',\n '2020-01-26',\n '2020-01-27',\n '2020-01-28',\n '2020-01-29',\n '2020-01-30',\n '2020-01-31', // 春节(延长3天)\n '2020-02-01',\n '2020-02-02',\n '2020-04-04', // 清明节(3天)\n '2020-04-05',\n '2020-04-06',\n '2020-05-01', // 劳动节(5天)\n '2020-05-02',\n '2020-05-03',\n '2020-05-04',\n '2020-05-05',\n '2020-06-25', // 端午节(3天)\n '2020-06-26',\n '2020-06-27',\n '2020-10-01', // 国庆节、中秋节(8天)\n '2020-10-02',\n '2020-10-03',\n '2020-10-04',\n '2020-10-05',\n '2020-10-06',\n '2020-10-07',\n '2020-10-08',\n];\n\n/**\n * 2020年,休息日上班日期\n */\nconst workdaysOf2020 = [\n '2020-01-19', // 星期日\n // '2020-02-01', // 星期六,原本上班,延长春节假期后改为放假\n '2020-04-26', // 星期日\n '2020-05-09', // 星期六\n '2020-06-28', // 星期日\n '2020-09-27', // 星期日\n '2020-10-10', // 星期六\n];\n\nexport { holidaysOf2020, workdaysOf2020 };\n","/**\n * 2019年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2019 = [\n '2019-01-01', // 元旦(3天)\n '2019-02-04', // 春节(7天)\n '2019-02-05',\n '2019-02-06',\n '2019-02-07',\n '2019-02-08',\n '2019-02-09',\n '2019-02-10',\n '2019-04-05', // 清明节,与周末连休\n '2019-05-01', // 劳动节(4天)\n '2019-05-02',\n '2019-05-03',\n '2019-05-04',\n '2019-06-07', // 端午节,与周末连休\n '2019-09-13', // 中秋节,与周末连休\n '2019-10-01', // 国庆节(7天)\n '2019-10-02',\n '2019-10-03',\n '2019-10-04',\n '2019-10-05',\n '2019-10-06',\n '2019-10-07',\n];\n\n/**\n * 2019年,休息日上班日期\n */\nconst workdaysOf2019 = [\n '2019-02-02', // 星期六\n '2019-02-03', // 星期日\n '2019-04-28', // 星期日\n '2019-05-05', // 星期日\n '2019-09-29', // 星期日\n '2019-10-12', // 星期六\n];\n\nexport { holidaysOf2019, workdaysOf2019 };\n","/**\n * 2018年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2018 = [\n '2018-01-01', // 元旦,与周末连休\n '2018-02-15', // 春节(7天)\n '2018-02-16',\n '2018-02-17',\n '2018-02-18',\n '2018-02-19',\n '2018-02-20',\n '2018-02-21',\n '2018-04-05',\n '2018-04-06',\n '2018-04-07',\n '2018-04-29', // 劳动节(3天)\n '2018-04-30',\n '2018-05-01',\n '2018-06-18', // 端午节,与周末连休\n '2018-09-24', // 中秋节,与周末连休\n '2018-10-01', // 国庆节(7天)\n '2018-10-02',\n '2018-10-03',\n '2018-10-04',\n '2018-10-05',\n '2018-10-06',\n '2018-10-07',\n '2018-12-30', // 元旦(3天)\n '2018-12-31',\n];\n\n/**\n * 2018年,休息日上班日期\n */\nconst workdaysOf2018 = [\n '2018-02-11', // 星期日\n '2018-02-24', // 星期六\n '2018-04-08', // 星期日\n '2018-04-28', // 星期六\n '2018-09-29', // 星期六\n '2018-09-30', // 星期日\n '2018-12-29', // 星期六\n];\n\nexport { holidaysOf2018, workdaysOf2018 };\n","/**\n * 2017年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2017 = [\n '2017-01-01', // 元旦\n '2017-01-02', // 补休\n '2017-01-27', // 春节(7天)\n '2017-01-28',\n '2017-01-29',\n '2017-01-30',\n '2017-01-31',\n '2017-02-01',\n '2017-02-02',\n '2017-04-02', // 清明节(3天)\n '2017-04-03',\n '2017-04-04',\n '2017-05-01', // 劳动节,与周末连休\n '2017-05-28', // 端午节(3天)\n '2017-05-29',\n '2017-05-30',\n '2017-10-01', // 中秋节、国庆节(8天)\n '2017-10-02',\n '2017-10-03',\n '2017-10-04',\n '2017-10-05',\n '2017-10-06',\n '2017-10-07',\n '2017-10-08',\n];\n\n/**\n * 2017年,休息日上班日期\n */\nconst workdaysOf2017 = [\n '2017-01-22', // 星期日\n '2017-02-04', // 星期六\n '2017-04-01', // 星期六\n '2017-05-27', // 星期六\n '2017-09-30', // 星期六\n];\n\nexport { holidaysOf2017, workdaysOf2017 };\n","/**\n * 2016年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期\n */\nconst holidaysOf2016 = [\n '2016-01-01', // 元旦,与周末连休\n '2016-02-07', // 春节(7天)\n '2016-02-08',\n '2016-02-09',\n '2016-02-10',\n '2016-02-11',\n '2016-02-12',\n '2016-02-13',\n '2016-04-04', // 清明节,与周末连休\n '2016-05-01', // 劳动节\n '2016-05-02', // 补休\n '2016-06-09', // 端午节(3天)\n '2016-06-10',\n '2016-06-11',\n '2016-09-15', // 中秋节(3天)\n '2016-09-16',\n '2016-09-17',\n '2016-10-01', // 国庆节(7天)\n '2016-10-02',\n '2016-10-03',\n '2016-10-04',\n '2016-10-05',\n '2016-10-06',\n '2016-10-07',\n];\n\n/**\n * 2016年,休息日上班日期\n */\nconst workdaysOf2016 = [\n '2016-02-06', // 星期六\n '2016-02-14', // 星期日\n '2016-06-12', // 星期日\n '2016-09-18', // 星期日\n '2016-10-08', // 星期六\n '2016-10-09', // 星期日\n];\n\nexport { holidaysOf2016, workdaysOf2016 };\n","/**\n * 全国年节及纪念日放假办法假期\n * - 新年,放假1天(1月1日)\n * - 春节,放假3天(农历正月初一、初二、初三)\n * - 清明节,放假1天(农历清明当日)\n * - 劳动节,放假1天(5月1日)\n * - 端午节,放假1天(农历端午当日)\n * - 中秋节,放假1天(农历中秋当日)\n * - 国庆节,放假3天(10月1日、2日、3日)\n */\nexport const holidaysOfLaw = ['01-01', '05-01', '10-01', '10-02', '10-03'];\n\nexport type TimeValue = Date | string | number;\n\nexport interface HolidayResult {\n holidays: string[];\n workdays: string[];\n}\n","import { holidaysOf2026, workdaysOf2026 } from './2026';\nimport { holidaysOf2025, workdaysOf2025 } from './2025';\nimport { holidaysOf2024, workdaysOf2024 } from './2024';\nimport { holidaysOf2023, workdaysOf2023 } from './2023';\nimport { holidaysOf2022, workdaysOf2022 } from './2022';\nimport { holidaysOf2021, workdaysOf2021 } from './2021';\nimport { holidaysOf2020, workdaysOf2020 } from './2020';\nimport { holidaysOf2019, workdaysOf2019 } from './2019';\nimport { holidaysOf2018, workdaysOf2018 } from './2018';\nimport { holidaysOf2017, workdaysOf2017 } from './2017';\nimport { holidaysOf2016, workdaysOf2016 } from './2016';\nimport { holidaysOfLaw } from './common';\nimport type { TimeValue } from './common';\n\nconst holidayMap = new Map([\n [2026, { holidays: holidaysOf2026, workdays: workdaysOf2026 }],\n [2025, { holidays: holidaysOf2025, workdays: workdaysOf2025 }],\n [2024, { holidays: holidaysOf2024, workdays: workdaysOf2024 }],\n [2023, { holidays: holidaysOf2023, workdays: workdaysOf2023 }],\n [2022, { holidays: holidaysOf2022, workdays: workdaysOf2022 }],\n [2021, { holidays: holidaysOf2021, workdays: workdaysOf2021 }],\n [2020, { holidays: holidaysOf2020, workdays: workdaysOf2020 }],\n [2019, { holidays: holidaysOf2019, workdays: workdaysOf2019 }],\n [2018, { holidays: holidaysOf2018, workdays: workdaysOf2018 }],\n [2017, { holidays: holidaysOf2017, workdays: workdaysOf2017 }],\n [2016, { holidays: holidaysOf2016, workdays: workdaysOf2016 }],\n]);\n\n/**\n * 判断是否为法定节假日,包括调休放假\n */\nexport function isHoliday(date: TimeValue): boolean {\n const dateWrapper = new Date(date);\n const year = dateWrapper.getFullYear();\n const month = (dateWrapper.getMonth() + 1).toString(10).padStart(2, '0');\n const dayOfMonth = dateWrapper\n .getDate()\n .toString(10)\n .padStart(2, '0');\n const dateFormatted = `${year}-${month}-${dayOfMonth}`; // 'YYYY-MM-DD'\n let holidayMapValue: ReturnType<typeof holidayMap.get>;\n if (holidayMap.has(year) && (holidayMapValue = holidayMap.get(year))) {\n const { holidays = [], workdays = [] } = holidayMapValue;\n // 法定放假\n if (holidays.includes(dateFormatted)) {\n return true;\n }\n // 法定上班\n if (workdays.includes(dateFormatted)) {\n return false;\n }\n } else {\n const monthDay = `${month}-${dayOfMonth}`; // 'MM-DD'\n // 法定公历假期\n if (holidaysOfLaw.includes(monthDay)) {\n return true;\n } else {\n console.log(\n `[public-holidays-cn] 暂时无法准确判断 ${year} 年度的法定节假日`\n );\n }\n }\n // 正常双休日\n if ([0, 6].includes(dateWrapper.getDay())) {\n return true;\n }\n return false;\n}\n\n/**\n * 判断是否是工作日,包括调休上班\n */\nexport function isWorkday(date: TimeValue): boolean {\n return !isHoliday(date);\n}\n"],"names":["holidaysOf2026","workdaysOf2026","holidaysOf2025","workdaysOf2025","holidaysOf2024","workdaysOf2024","holidaysOf2023","workdaysOf2023","holidaysOf2022","workdaysOf2022","holidaysOf2021","workdaysOf2021","holidaysOf2020","workdaysOf2020","holidaysOf2019","workdaysOf2019","holidaysOf2018","workdaysOf2018","holidaysOf2017","workdaysOf2017","holidaysOf2016","workdaysOf2016","holidaysOfLaw","holidayMap","Map","holidays","workdays","isHoliday","date","dateWrapper","Date","year","getFullYear","month","getMonth","toString","padStart","dayOfMonth","getDate","dateFormatted","holidayMapValue","has","get","_holidayMapValue","_holidayMapValue$holi","_holidayMapValue$work","includes","monthDay","console","log","getDay","isWorkday"],"mappings":"AAAA;;;AAGA,IAAMA,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;AAED;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;;ACjDD;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;AAED;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;;AC3CD;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;AAED;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;;AC9CD;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;AAED;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;;AC1CD;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;AAED;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;;AChDD;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,E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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "public-holidays-cn",
|
|
3
3
|
"description": "Check if a day is a China public holiday or a workday",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.5.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"module": "dist/public-holidays-cn.esm.js",
|
|
7
7
|
"main": "dist/index.js",
|
|
@@ -48,6 +48,9 @@
|
|
|
48
48
|
"singleQuote": true,
|
|
49
49
|
"trailingComma": "es5"
|
|
50
50
|
},
|
|
51
|
+
"publishConfig": {
|
|
52
|
+
"registry": "https://registry.npmjs.org"
|
|
53
|
+
},
|
|
51
54
|
"size-limit": [
|
|
52
55
|
{
|
|
53
56
|
"path": "dist/public-holidays-cn.cjs.production.min.js",
|
package/src/2023.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 2023年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
3
|
+
*/
|
|
4
|
+
const holidaysOf2023 = [
|
|
5
|
+
'2023-01-01', // 元旦(1天)
|
|
6
|
+
'2023-01-21', // 春节(7天)
|
|
7
|
+
'2023-01-22',
|
|
8
|
+
'2023-01-23',
|
|
9
|
+
'2023-01-24',
|
|
10
|
+
'2023-01-25',
|
|
11
|
+
'2023-01-26',
|
|
12
|
+
'2023-01-27',
|
|
13
|
+
'2023-04-05', // 清明节(1天)
|
|
14
|
+
'2023-04-29',
|
|
15
|
+
'2023-04-30',
|
|
16
|
+
'2023-05-01', // 劳动节(5天)
|
|
17
|
+
'2023-05-02',
|
|
18
|
+
'2023-05-03',
|
|
19
|
+
'2023-06-22', // 端午节(3天)
|
|
20
|
+
'2023-06-23',
|
|
21
|
+
'2023-06-24',
|
|
22
|
+
'2023-09-29', // 国庆节、中秋节(8天)
|
|
23
|
+
'2023-09-30',
|
|
24
|
+
'2023-10-01',
|
|
25
|
+
'2023-10-02',
|
|
26
|
+
'2023-10-03',
|
|
27
|
+
'2023-10-04',
|
|
28
|
+
'2023-10-05',
|
|
29
|
+
'2023-10-06',
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 2023年,休息日上班日期
|
|
34
|
+
*/
|
|
35
|
+
const workdaysOf2023 = [
|
|
36
|
+
'2023-01-28', // 星期六
|
|
37
|
+
'2023-01-29', // 星期日
|
|
38
|
+
'2023-04-23', // 星期日
|
|
39
|
+
'2023-05-06', // 星期六
|
|
40
|
+
'2023-06-25', // 星期日
|
|
41
|
+
'2023-10-07', // 星期六
|
|
42
|
+
'2023-10-08', // 星期日
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
export { holidaysOf2023, workdaysOf2023 };
|
package/src/2024.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 2024年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
3
|
+
*/
|
|
4
|
+
const holidaysOf2024 = [
|
|
5
|
+
'2024-01-01', // 元旦(1天)
|
|
6
|
+
'2024-02-10', // 春节(8天)
|
|
7
|
+
'2024-02-11',
|
|
8
|
+
'2024-02-12',
|
|
9
|
+
'2024-02-13',
|
|
10
|
+
'2024-02-14',
|
|
11
|
+
'2024-02-15',
|
|
12
|
+
'2024-02-16',
|
|
13
|
+
'2024-02-17',
|
|
14
|
+
'2024-04-04', // 清明节(3天)
|
|
15
|
+
'2024-04-05',
|
|
16
|
+
'2024-04-06',
|
|
17
|
+
'2024-05-01', // 劳动节(5天)
|
|
18
|
+
'2024-05-02',
|
|
19
|
+
'2024-05-03',
|
|
20
|
+
'2024-05-04',
|
|
21
|
+
'2024-05-05',
|
|
22
|
+
'2024-06-10', // 端午节(1天)
|
|
23
|
+
'2024-09-15', // 中秋节(3天)
|
|
24
|
+
'2024-09-16',
|
|
25
|
+
'2024-09-17',
|
|
26
|
+
'2024-10-01', // 国庆节(7天)
|
|
27
|
+
'2024-10-02',
|
|
28
|
+
'2024-10-03',
|
|
29
|
+
'2024-10-04',
|
|
30
|
+
'2024-10-05',
|
|
31
|
+
'2024-10-06',
|
|
32
|
+
'2024-10-07',
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* 2024年,休息日上班日期
|
|
37
|
+
*/
|
|
38
|
+
const workdaysOf2024 = [
|
|
39
|
+
'2024-02-04', // 星期日
|
|
40
|
+
'2024-02-18', // 星期日
|
|
41
|
+
'2024-04-07', // 星期日
|
|
42
|
+
'2024-04-28', // 星期日
|
|
43
|
+
'2024-05-11', // 星期六
|
|
44
|
+
'2024-09-14', // 星期六
|
|
45
|
+
'2024-09-29', // 星期日
|
|
46
|
+
'2024-10-12', // 星期六
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
export { holidaysOf2024, workdaysOf2024 };
|
package/src/2025.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 2025年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
3
|
+
*/
|
|
4
|
+
const holidaysOf2025 = [
|
|
5
|
+
'2025-01-01', // 元旦(1天)
|
|
6
|
+
'2025-01-28', // 春节(8天)
|
|
7
|
+
'2025-01-29',
|
|
8
|
+
'2025-01-30',
|
|
9
|
+
'2025-01-31',
|
|
10
|
+
'2025-02-01',
|
|
11
|
+
'2025-02-02',
|
|
12
|
+
'2025-02-03',
|
|
13
|
+
'2025-02-04',
|
|
14
|
+
'2025-04-04', // 清明节(3天)
|
|
15
|
+
'2025-04-05',
|
|
16
|
+
'2025-04-06',
|
|
17
|
+
'2025-05-01', // 劳动节(5天)
|
|
18
|
+
'2025-05-02',
|
|
19
|
+
'2025-05-03',
|
|
20
|
+
'2025-05-04',
|
|
21
|
+
'2025-05-05',
|
|
22
|
+
'2025-05-31', // 端午节(3天)
|
|
23
|
+
'2025-06-01',
|
|
24
|
+
'2025-06-02',
|
|
25
|
+
'2025-10-01', // 国庆节、中秋节(8天)
|
|
26
|
+
'2025-10-02',
|
|
27
|
+
'2025-10-03',
|
|
28
|
+
'2025-10-04',
|
|
29
|
+
'2025-10-05',
|
|
30
|
+
'2025-10-06',
|
|
31
|
+
'2025-10-07',
|
|
32
|
+
'2025-10-08',
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* 2025年,休息日上班日期
|
|
37
|
+
*/
|
|
38
|
+
const workdaysOf2025 = [
|
|
39
|
+
'2025-01-26', // 周日
|
|
40
|
+
'2025-02-08', // 周六
|
|
41
|
+
'2025-04-27', // 周日
|
|
42
|
+
'2025-09-28', // 周日
|
|
43
|
+
'2025-10-11', // 周六
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export { holidaysOf2025, workdaysOf2025 };
|
package/src/2026.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 2026年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
|
|
3
|
+
*/
|
|
4
|
+
const holidaysOf2026 = [
|
|
5
|
+
'2026-01-01', // 元旦(3天)
|
|
6
|
+
'2026-01-02',
|
|
7
|
+
'2026-01-03',
|
|
8
|
+
'2026-02-15', // 春节(9天)
|
|
9
|
+
'2026-02-16',
|
|
10
|
+
'2026-02-17',
|
|
11
|
+
'2026-02-18',
|
|
12
|
+
'2026-02-19',
|
|
13
|
+
'2026-02-20',
|
|
14
|
+
'2026-02-21',
|
|
15
|
+
'2026-02-22',
|
|
16
|
+
'2026-02-23',
|
|
17
|
+
'2026-04-04', // 清明节(3天)
|
|
18
|
+
'2026-04-05',
|
|
19
|
+
'2026-04-06',
|
|
20
|
+
'2026-05-01', // 劳动节(5天)
|
|
21
|
+
'2026-05-02',
|
|
22
|
+
'2026-05-03',
|
|
23
|
+
'2026-05-04',
|
|
24
|
+
'2026-05-05',
|
|
25
|
+
'2026-06-19', // 端午节(3天)
|
|
26
|
+
'2026-06-20',
|
|
27
|
+
'2026-06-21',
|
|
28
|
+
'2026-09-25', // 中秋节(3天)
|
|
29
|
+
'2026-09-26',
|
|
30
|
+
'2026-09-27',
|
|
31
|
+
'2026-10-01', // 国庆节(7天)
|
|
32
|
+
'2026-10-02',
|
|
33
|
+
'2026-10-03',
|
|
34
|
+
'2026-10-04',
|
|
35
|
+
'2026-10-05',
|
|
36
|
+
'2026-10-06',
|
|
37
|
+
'2026-10-07',
|
|
38
|
+
];
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* 2026年,休息日上班日期
|
|
42
|
+
*/
|
|
43
|
+
const workdaysOf2026 = [
|
|
44
|
+
'2026-01-04', // 周日
|
|
45
|
+
'2026-02-14', // 周六
|
|
46
|
+
'2026-02-28', // 周六
|
|
47
|
+
'2026-05-09', // 周六
|
|
48
|
+
'2026-09-20', // 周日
|
|
49
|
+
'2026-10-10', // 周六
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
export { holidaysOf2026, workdaysOf2026 };
|
package/src/async.ts
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { holidaysOfLaw } from './common';
|
|
2
|
+
import type { TimeValue, HolidayResult } from './common';
|
|
3
|
+
|
|
4
|
+
async function fetchHolidays(year: number): Promise<HolidayResult> {
|
|
5
|
+
switch (year) {
|
|
6
|
+
case 2016: {
|
|
7
|
+
const res = await import('./2016');
|
|
8
|
+
return {
|
|
9
|
+
holidays: res.holidaysOf2016,
|
|
10
|
+
workdays: res.workdaysOf2016,
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
case 2017: {
|
|
14
|
+
const res = await import('./2017');
|
|
15
|
+
return {
|
|
16
|
+
holidays: res.holidaysOf2017,
|
|
17
|
+
workdays: res.workdaysOf2017,
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
case 2018: {
|
|
21
|
+
const res = await import('./2018');
|
|
22
|
+
return {
|
|
23
|
+
holidays: res.holidaysOf2018,
|
|
24
|
+
workdays: res.workdaysOf2018,
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
case 2019: {
|
|
28
|
+
const res = await import('./2019');
|
|
29
|
+
return {
|
|
30
|
+
holidays: res.holidaysOf2019,
|
|
31
|
+
workdays: res.workdaysOf2019,
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
case 2020: {
|
|
35
|
+
const res = await import('./2020');
|
|
36
|
+
return {
|
|
37
|
+
holidays: res.holidaysOf2020,
|
|
38
|
+
workdays: res.workdaysOf2020,
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
case 2021: {
|
|
42
|
+
const res = await import('./2021');
|
|
43
|
+
return {
|
|
44
|
+
holidays: res.holidaysOf2021,
|
|
45
|
+
workdays: res.workdaysOf2021,
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
case 2022: {
|
|
49
|
+
const res = await import('./2022');
|
|
50
|
+
return {
|
|
51
|
+
holidays: res.holidaysOf2022,
|
|
52
|
+
workdays: res.workdaysOf2022,
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
case 2023: {
|
|
56
|
+
const res = await import('./2023');
|
|
57
|
+
return {
|
|
58
|
+
holidays: res.holidaysOf2023,
|
|
59
|
+
workdays: res.workdaysOf2023,
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
case 2024: {
|
|
63
|
+
const res = await import('./2024');
|
|
64
|
+
return {
|
|
65
|
+
holidays: res.holidaysOf2024,
|
|
66
|
+
workdays: res.workdaysOf2024,
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
case 2025: {
|
|
70
|
+
const res = await import('./2025');
|
|
71
|
+
return {
|
|
72
|
+
holidays: res.holidaysOf2025,
|
|
73
|
+
workdays: res.workdaysOf2025,
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
case 2026: {
|
|
77
|
+
const res = await import('./2026');
|
|
78
|
+
return {
|
|
79
|
+
holidays: res.holidaysOf2026,
|
|
80
|
+
workdays: res.workdaysOf2026,
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
default: {
|
|
84
|
+
return {
|
|
85
|
+
holidays: [],
|
|
86
|
+
workdays: []
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* 判断是否为法定节假日,包括调休放假
|
|
94
|
+
*/
|
|
95
|
+
export async function isHolidayAsync(date: TimeValue): Promise<boolean> {
|
|
96
|
+
const dateWrapper = new Date(date);
|
|
97
|
+
const year = dateWrapper.getFullYear();
|
|
98
|
+
const month = (dateWrapper.getMonth() + 1).toString(10).padStart(2, '0');
|
|
99
|
+
const dayOfMonth = dateWrapper
|
|
100
|
+
.getDate()
|
|
101
|
+
.toString(10)
|
|
102
|
+
.padStart(2, '0');
|
|
103
|
+
const dateFormatted = `${year}-${month}-${dayOfMonth}`; // 'YYYY-MM-DD'
|
|
104
|
+
if (year >= 16 && year <= 2026) {
|
|
105
|
+
const { holidays = [], workdays = [] } = await fetchHolidays(year);
|
|
106
|
+
// 法定放假
|
|
107
|
+
if (holidays.includes(dateFormatted)) {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
// 法定上班
|
|
111
|
+
if (workdays.includes(dateFormatted)) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
} else {
|
|
115
|
+
const monthDay = `${month}-${dayOfMonth}`; // 'MM-DD'
|
|
116
|
+
// 法定公历假期
|
|
117
|
+
if (holidaysOfLaw.includes(monthDay)) {
|
|
118
|
+
return true;
|
|
119
|
+
} else {
|
|
120
|
+
console.log(
|
|
121
|
+
`[public-holidays-cn] 暂时无法准确判断 ${year} 年度的法定节假日`
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// 正常双休日
|
|
126
|
+
if ([0, 6].includes(dateWrapper.getDay())) {
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* 判断是否是工作日,包括调休上班
|
|
134
|
+
*/
|
|
135
|
+
export async function isWorkdayAsync(date: TimeValue): Promise<boolean> {
|
|
136
|
+
return !isHolidayAsync(date);
|
|
137
|
+
}
|
package/src/common.ts
CHANGED
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
* - 中秋节,放假1天(农历中秋当日)
|
|
9
9
|
* - 国庆节,放假3天(10月1日、2日、3日)
|
|
10
10
|
*/
|
|
11
|
-
const holidaysOfLaw = ['01-01', '05-01', '10-01', '10-02', '10-03'];
|
|
11
|
+
export const holidaysOfLaw = ['01-01', '05-01', '10-01', '10-02', '10-03'];
|
|
12
12
|
|
|
13
|
-
export
|
|
13
|
+
export type TimeValue = Date | string | number;
|
|
14
|
+
|
|
15
|
+
export interface HolidayResult {
|
|
16
|
+
holidays: string[];
|
|
17
|
+
workdays: string[];
|
|
18
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { holidaysOf2026, workdaysOf2026 } from './2026';
|
|
2
|
+
import { holidaysOf2025, workdaysOf2025 } from './2025';
|
|
3
|
+
import { holidaysOf2024, workdaysOf2024 } from './2024';
|
|
4
|
+
import { holidaysOf2023, workdaysOf2023 } from './2023';
|
|
1
5
|
import { holidaysOf2022, workdaysOf2022 } from './2022';
|
|
2
6
|
import { holidaysOf2021, workdaysOf2021 } from './2021';
|
|
3
7
|
import { holidaysOf2020, workdaysOf2020 } from './2020';
|
|
@@ -5,11 +9,14 @@ import { holidaysOf2019, workdaysOf2019 } from './2019';
|
|
|
5
9
|
import { holidaysOf2018, workdaysOf2018 } from './2018';
|
|
6
10
|
import { holidaysOf2017, workdaysOf2017 } from './2017';
|
|
7
11
|
import { holidaysOf2016, workdaysOf2016 } from './2016';
|
|
8
|
-
import { holidaysOfLaw
|
|
9
|
-
|
|
10
|
-
type TimeValue = Date | string | number;
|
|
12
|
+
import { holidaysOfLaw } from './common';
|
|
13
|
+
import type { TimeValue } from './common';
|
|
11
14
|
|
|
12
15
|
const holidayMap = new Map([
|
|
16
|
+
[2026, { holidays: holidaysOf2026, workdays: workdaysOf2026 }],
|
|
17
|
+
[2025, { holidays: holidaysOf2025, workdays: workdaysOf2025 }],
|
|
18
|
+
[2024, { holidays: holidaysOf2024, workdays: workdaysOf2024 }],
|
|
19
|
+
[2023, { holidays: holidaysOf2023, workdays: workdaysOf2023 }],
|
|
13
20
|
[2022, { holidays: holidaysOf2022, workdays: workdaysOf2022 }],
|
|
14
21
|
[2021, { holidays: holidaysOf2021, workdays: workdaysOf2021 }],
|
|
15
22
|
[2020, { holidays: holidaysOf2020, workdays: workdaysOf2020 }],
|