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 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
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 2023年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
3
+ */
4
+ declare const holidaysOf2023: string[];
5
+ /**
6
+ * 2023年,休息日上班日期
7
+ */
8
+ declare const workdaysOf2023: string[];
9
+ export { holidaysOf2023, workdaysOf2023 };
package/dist/2024.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 2024年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
3
+ */
4
+ declare const holidaysOf2024: string[];
5
+ /**
6
+ * 2024年,休息日上班日期
7
+ */
8
+ declare const workdaysOf2024: string[];
9
+ export { holidaysOf2024, workdaysOf2024 };
package/dist/2025.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 2025年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
3
+ */
4
+ declare const holidaysOf2025: string[];
5
+ /**
6
+ * 2025年,休息日上班日期
7
+ */
8
+ declare const workdaysOf2025: string[];
9
+ export { holidaysOf2025, workdaysOf2025 };
package/dist/2026.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 2026年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期
3
+ */
4
+ declare const holidaysOf2026: string[];
5
+ /**
6
+ * 2026年,休息日上班日期
7
+ */
8
+ declare const workdaysOf2026: string[];
9
+ export { holidaysOf2026, workdaysOf2026 };
@@ -0,0 +1,9 @@
1
+ import type { TimeValue } from './common';
2
+ /**
3
+ * 判断是否为法定节假日,包括调休放假
4
+ */
5
+ export declare function isHolidayAsync(date: TimeValue): Promise<boolean>;
6
+ /**
7
+ * 判断是否是工作日,包括调休上班
8
+ */
9
+ export declare function isWorkdayAsync(date: TimeValue): Promise<boolean>;
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 { holidaysOfLaw };
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
- declare type TimeValue = Date | string | number;
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
- var workdaysOf2020 = ['2020-01-19', // '2020-02-01', // 星期六,原本上班,延长春节假期后改为放假
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([[2022, {
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
- _holidayMapValue$holi = _holidayMapValue.holidays,
126
- holidays = _holidayMapValue$holi === void 0 ? [] : _holidayMapValue$holi,
127
- _holidayMapValue$work = _holidayMapValue.workdays,
128
- workdays = _holidayMapValue$work === void 0 ? [] : _holidayMapValue$work; // 法定放假
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 e(e){var r,s=new Date(e),t=s.getFullYear(),d=(s.getMonth()+1).toString(10).padStart(2,"0"),i=s.getDate().toString(10).padStart(2,"0"),l=t+"-"+d+"-"+i;if(a.has(t)&&(r=a.get(t))){var n=r.holidays,y=r.workdays,u=void 0===y?[]:y;if((void 0===n?[]:n).includes(l))return!0;if(u.includes(l))return!1}else{if(o.includes(d+"-"+i))return!0;console.log("[public-holidays-cn] 暂时无法准确判断 "+t+" 年度的法定节假日")}return!![0,6].includes(s.getDay())}exports.isHoliday=e,exports.isWorkday=function(o){return!e(o)};
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
- var workdaysOf2020 = ['2020-01-19', // '2020-02-01', // 星期六,原本上班,延长春节假期后改为放假
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([[2022, {
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
- _holidayMapValue$holi = _holidayMapValue.holidays,
122
- holidays = _holidayMapValue$holi === void 0 ? [] : _holidayMapValue$holi,
123
- _holidayMapValue$work = _holidayMapValue.workdays,
124
- workdays = _holidayMapValue$work === void 0 ? [] : _holidayMapValue$work; // 法定放假
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":"AAAA;;;AAGA,IAAMA,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,EAOrB,YAPqB,EAQrB,YARqB,EASrB,YATqB,EAUrB,YAVqB,EAWrB,YAXqB,EAYrB,YAZqB,EAarB,YAbqB,EAcrB,YAdqB,EAerB,YAfqB,EAgBrB,YAhBqB,EAiBrB,YAjBqB,EAkBrB,YAlBqB,EAmBrB,YAnBqB,EAoBrB,YApBqB,EAqBrB,YArBqB,EAsBrB,YAtBqB,EAuBrB,YAvBqB,EAwBrB,YAxBqB,EAyBrB,YAzBqB,EA0BrB,YA1BqB,EA2BrB,YA3BqB,EA4BrB,YA5BqB,EA6BrB,YA7BqB,EA8BrB,YA9BqB,EA+BrB,YA/BqB,CAAvB;AAkCA;;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,EAOrB,YAPqB,CAAvB;;ACxCA;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,EAOrB,YAPqB,EAQrB,YARqB,EASrB,YATqB,EAUrB,YAVqB,EAWrB,YAXqB,EAYrB,YAZqB,EAarB,YAbqB,EAcrB,YAdqB,EAerB,YAfqB,EAgBrB,YAhBqB,EAiBrB,YAjBqB,EAkBrB,YAlBqB,EAmBrB,YAnBqB,EAoBrB,YApBqB,EAqBrB,YArBqB,EAsBrB,YAtBqB,EAuBrB,YAvBqB,EAwBrB,YAxBqB,EAyBrB,YAzBqB,EA0BrB,YA1BqB,EA2BrB,YA3BqB,EA4BrB,YA5BqB,EA6BrB,YA7BqB,EA8BrB,YA9BqB,EA+BrB,YA/BqB,CAAvB;AAkCA;;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,EAOrB,YAPqB,CAAvB;;ACxCA;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,EAOrB,YAPqB,EAQrB,YARqB,EASrB,YATqB,EAUrB,YAVqB,EAWrB,YAXqB,EAYrB,YAZqB,EAarB,YAbqB,EAcrB,YAdqB,EAerB,YAfqB,EAgBrB,YAhBqB,EAiBrB,YAjBqB,EAkBrB,YAlBqB,EAmBrB,YAnBqB,EAoBrB,YApBqB,EAqBrB,YArBqB,EAsBrB,YAtBqB,EAuBrB,YAvBqB,EAwBrB,YAxBqB,EAyBrB,YAzBqB,EA0BrB,YA1BqB,EA2BrB,YA3BqB,EA4BrB,YA5BqB,EA6BrB,YA7BqB,EA8BrB,YA9BqB,CAAvB;AAiCA;;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB;AAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,EAOrB,YAPqB,CAAvB;;ACvCA;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,EAOrB,YAPqB,EAQrB,YARqB,EASrB,YATqB,EAUrB,YAVqB,EAWrB,YAXqB,EAYrB,YAZqB,EAarB,YAbqB,EAcrB,YAdqB,EAerB,YAfqB,EAgBrB,YAhBqB,EAiBrB,YAjBqB,EAkBrB,YAlBqB,EAmBrB,YAnBqB,EAoBrB,YApBqB,EAqBrB,YArBqB,EAsBrB,YAtBqB,CAAvB;AAyBA;;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,CAAvB;;AC/BA;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,EAOrB,YAPqB,EAQrB,YARqB,EASrB,YATqB,EAUrB,YAVqB,EAWrB,YAXqB,EAYrB,YAZqB,EAarB,YAbqB,EAcrB,YAdqB,EAerB,YAfqB,EAgBrB,YAhBqB,EAiBrB,YAjBqB,EAkBrB,YAlBqB,EAmBrB,YAnBqB,EAoBrB,YApBqB,EAqBrB,YArBqB,EAsBrB,YAtBqB,EAuBrB,YAvBqB,EAwBrB,YAxBqB,EAyBrB,YAzBqB,CAAvB;AA4BA;;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,EAOrB,YAPqB,CAAvB;;AClCA;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,EAOrB,YAPqB,EAQrB,YARqB,EASrB,YATqB,EAUrB,YAVqB,EAWrB,YAXqB,EAYrB,YAZqB,EAarB,YAbqB,EAcrB,YAdqB,EAerB,YAfqB,EAgBrB,YAhBqB,EAiBrB,YAjBqB,EAkBrB,YAlBqB,EAmBrB,YAnBqB,EAoBrB,YApBqB,EAqBrB,YArBqB,EAsBrB,YAtBqB,EAuBrB,YAvBqB,EAwBrB,YAxBqB,CAAvB;AA2BA;;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,CAAvB;;ACjCA;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,EAOrB,YAPqB,EAQrB,YARqB,EASrB,YATqB,EAUrB,YAVqB,EAWrB,YAXqB,EAYrB,YAZqB,EAarB,YAbqB,EAcrB,YAdqB,EAerB,YAfqB,EAgBrB,YAhBqB,EAiBrB,YAjBqB,EAkBrB,YAlBqB,EAmBrB,YAnBqB,EAoBrB,YApBqB,EAqBrB,YArBqB,EAsBrB,YAtBqB,EAuBrB,YAvBqB,EAwBrB,YAxBqB,CAAvB;AA2BA;;;;AAGA,IAAMC,cAAc,GAAG,CACrB,YADqB,EAErB,YAFqB,EAGrB,YAHqB,EAIrB,YAJqB,EAKrB,YALqB,EAMrB,YANqB,CAAvB;;ACjCA;;;;;;;;;;AAUA,IAAMC,aAAa,GAAG,CAAC,OAAD,EAAU,OAAV,EAAmB,OAAnB,EAA4B,OAA5B,EAAqC,OAArC,CAAtB;;ACCA,IAAMC,UAAU,gBAAG,IAAIC,GAAJ,CAAQ,CACzB,CAAC,IAAD,EAAO;AAAEC,EAAAA,QAAQ,EAAEjB,cAAZ;AAA4BkB,EAAAA,QAAQ,EAAEjB;AAAtC,CAAP,CADyB,EAEzB,CAAC,IAAD,EAAO;AAAEgB,EAAAA,QAAQ,EAAEf,cAAZ;AAA4BgB,EAAAA,QAAQ,EAAEf;AAAtC,CAAP,CAFyB,EAGzB,CAAC,IAAD,EAAO;AAAEc,EAAAA,QAAQ,EAAEb,cAAZ;AAA4Bc,EAAAA,QAAQ,EAAEb;AAAtC,CAAP,CAHyB,EAIzB,CAAC,IAAD,EAAO;AAAEY,EAAAA,QAAQ,EAAEX,cAAZ;AAA4BY,EAAAA,QAAQ,EAAEX;AAAtC,CAAP,CAJyB,EAKzB,CAAC,IAAD,EAAO;AAAEU,EAAAA,QAAQ,EAAET,cAAZ;AAA4BU,EAAAA,QAAQ,EAAET;AAAtC,CAAP,CALyB,EAMzB,CAAC,IAAD,EAAO;AAAEQ,EAAAA,QAAQ,EAAEP,cAAZ;AAA4BQ,EAAAA,QAAQ,EAAEP;AAAtC,CAAP,CANyB,EAOzB,CAAC,IAAD,EAAO;AAAEM,EAAAA,QAAQ,EAAEL,cAAZ;AAA4BM,EAAAA,QAAQ,EAAEL;AAAtC,CAAP,CAPyB,CAAR,CAAnB;AAUA;;;;AAGA,SAAgBM,UAAUC;AACxB,MAAMC,WAAW,GAAG,IAAIC,IAAJ,CAASF,IAAT,CAApB;AACA,MAAMG,IAAI,GAAGF,WAAW,CAACG,WAAZ,EAAb;AACA,MAAMC,KAAK,GAAG,CAACJ,WAAW,CAACK,QAAZ,KAAyB,CAA1B,EAA6BC,QAA7B,CAAsC,EAAtC,EAA0CC,QAA1C,CAAmD,CAAnD,EAAsD,GAAtD,CAAd;AACA,MAAMC,UAAU,GAAGR,WAAW,CAC3BS,OADgB,GAEhBH,QAFgB,CAEP,EAFO,EAGhBC,QAHgB,CAGP,CAHO,EAGJ,GAHI,CAAnB;AAIA,MAAMG,aAAa,GAAMR,IAAN,SAAcE,KAAd,SAAuBI,UAA1C;;AACA,MAAIG,eAAJ;;AACA,MAAIjB,UAAU,CAACkB,GAAX,CAAeV,IAAf,MAAyBS,eAAe,GAAGjB,UAAU,CAACmB,GAAX,CAAeX,IAAf,CAA3C,CAAJ,EAAsE;AACpE,2BAAyCS,eAAzC;AAAA,iDAAQf,QAAR;AAAA,QAAQA,QAAR,sCAAmB,EAAnB;AAAA,iDAAuBC,QAAvB;AAAA,QAAuBA,QAAvB,sCAAkC,EAAlC,yBADoE;;AAGpE,QAAID,QAAQ,CAACkB,QAAT,CAAkBJ,aAAlB,CAAJ,EAAsC;AACpC,aAAO,IAAP;AACD,KALmE;;;AAOpE,QAAIb,QAAQ,CAACiB,QAAT,CAAkBJ,aAAlB,CAAJ,EAAsC;AACpC,aAAO,KAAP;AACD;AACF,GAVD,MAUO;AACL,QAAMK,QAAQ,GAAMX,KAAN,SAAeI,UAA7B,CADK;AAEL;;AACA,QAAIf,aAAa,CAACqB,QAAd,CAAuBC,QAAvB,CAAJ,EAAsC;AACpC,aAAO,IAAP;AACD,KAFD,MAEO;AACLC,MAAAA,OAAO,CAACC,GAAR,4EACmCf,IADnC;AAGD;AACF;;;AAED,MAAI,CAAC,CAAD,EAAI,CAAJ,EAAOY,QAAP,CAAgBd,WAAW,CAACkB,MAAZ,EAAhB,CAAJ,EAA2C;AACzC,WAAO,IAAP;AACD;;AACD,SAAO,KAAP;AACD;AAED;;;;AAGA,SAAgBC,UAAUpB;AACxB,SAAO,CAACD,SAAS,CAACC,IAAD,CAAjB;AACD;;;;"}
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.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 { holidaysOfLaw };
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 } from './common';
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 }],