holidays 0.60__py3-none-any.whl → 0.61__py3-none-any.whl
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.
- holidays/countries/brazil.py +149 -109
- holidays/countries/brunei.py +157 -68
- holidays/countries/cambodia.py +11 -0
- holidays/countries/china.py +21 -5
- holidays/countries/finland.py +1 -1
- holidays/countries/luxembourg.py +1 -1
- holidays/countries/moldova.py +1 -1
- holidays/countries/portugal.py +22 -0
- holidays/countries/switzerland.py +1 -1
- holidays/countries/thailand.py +6 -0
- holidays/countries/united_states.py +19 -23
- holidays/financial/__init__.py +1 -0
- holidays/financial/brasil_bolsa_balcao.py +110 -0
- holidays/groups/international.py +11 -0
- holidays/helpers.py +4 -4
- holidays/holiday_base.py +2 -3
- holidays/locale/de/LC_MESSAGES/CH.po +1 -1
- holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BN.po +29 -18
- holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BR.po +263 -0
- holidays/locale/en_US/LC_MESSAGES/BVMF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BVMF.po +79 -0
- holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CH.po +1 -1
- holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KH.po +7 -3
- holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CH.po +1 -1
- holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/it/LC_MESSAGES/CH.po +1 -1
- holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/km/LC_MESSAGES/KH.po +7 -3
- holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/ms/LC_MESSAGES/BN.po +26 -17
- holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/pt_BR/LC_MESSAGES/BR.po +263 -0
- holidays/locale/pt_BR/LC_MESSAGES/BVMF.mo +0 -0
- holidays/locale/pt_BR/LC_MESSAGES/BVMF.po +79 -0
- holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/BN.po +28 -17
- holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/KH.po +7 -3
- holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BR.po +263 -0
- holidays/locale/uk/LC_MESSAGES/BVMF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BVMF.po +79 -0
- holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CH.po +1 -1
- holidays/observed_holiday_base.py +2 -1
- holidays/registry.py +1 -0
- holidays/utils.py +1 -1
- holidays/version.py +1 -1
- {holidays-0.60.dist-info → holidays-0.61.dist-info}/AUTHORS +1 -0
- {holidays-0.60.dist-info → holidays-0.61.dist-info}/METADATA +13 -5
- {holidays-0.60.dist-info → holidays-0.61.dist-info}/RECORD +59 -46
- {holidays-0.60.dist-info → holidays-0.61.dist-info}/WHEEL +1 -1
- {holidays-0.60.dist-info → holidays-0.61.dist-info}/LICENSE +0 -0
- {holidays-0.60.dist-info → holidays-0.61.dist-info}/top_level.txt +0 -0
holidays/countries/brunei.py
CHANGED
|
@@ -61,6 +61,42 @@ class Brunei(
|
|
|
61
61
|
|
|
62
62
|
- Based on: http://www.labour.gov.bn/Lists/Upcomming%20events/AllItems.aspx
|
|
63
63
|
http://www.labour.gov.bn/Download/GUIDE%20TO%20BRUNEI%20EMPLOYMENT%20LAWS%20-%20english%20version-3.pdf
|
|
64
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk12-1997.pdf
|
|
65
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk14-1998.pdf
|
|
66
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk15-1998.pdf
|
|
67
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk14-1999.pdf
|
|
68
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk05-2000.pdf
|
|
69
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk10-2000.pdf
|
|
70
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk13-2000.pdf
|
|
71
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk07-2001.pdf
|
|
72
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk11-2002.pdf
|
|
73
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk02-2003.pdf
|
|
74
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk09-2004.pdf
|
|
75
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk11-2005.pdf
|
|
76
|
+
https://www.pmo.gov.bn/Circulars%20PDF%20Library/jpmsk12-2005.pdf
|
|
77
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk03-2006.pdf
|
|
78
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk17-2006.pdf
|
|
79
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk10-2007.pdf
|
|
80
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk09-2008.pdf
|
|
81
|
+
https://chittychat.wordpress.com/wp-content/uploads/2008/11/school_terms_20091.pdf
|
|
82
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk08-2009.pdf
|
|
83
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk09-2010.pdf
|
|
84
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk10-2011.pdf
|
|
85
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk08-2012.pdf
|
|
86
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk10-2012.pdf
|
|
87
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk07-2013.pdf
|
|
88
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk09-14.pdf
|
|
89
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk11-2015.pdf
|
|
90
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk09-2016.pdf
|
|
91
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk07-2017.pdf
|
|
92
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk08-2017.pdf
|
|
93
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk11-2018.pdf
|
|
94
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk06-2019.pdf
|
|
95
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk10-2020.pdf
|
|
96
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk10-2021.pdf
|
|
97
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk04-2022.pdf
|
|
98
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk04-2023.pdf
|
|
99
|
+
https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk06-2024.pdf
|
|
64
100
|
- Checked with: https://asean.org/wp-content/uploads/2021/12/ASEAN-National-Holidays-2022.pdf
|
|
65
101
|
https://asean.org/wp-content/uploads/2022/12/ASEAN-Public-Holidays-2023.pdf
|
|
66
102
|
https://www.timeanddate.com/holidays/brunei/
|
|
@@ -109,20 +145,20 @@ class Brunei(
|
|
|
109
145
|
# Awal Tahun Masihi
|
|
110
146
|
# Status: In-Use.
|
|
111
147
|
|
|
112
|
-
# New Year's Day
|
|
148
|
+
# New Year's Day.
|
|
113
149
|
self._add_observed(self._add_new_years_day(tr("Awal Tahun Masihi")))
|
|
114
150
|
|
|
115
151
|
# Tahun Baru Cina
|
|
116
152
|
# Status: In-Use.
|
|
117
153
|
|
|
118
|
-
# Lunar New Year
|
|
154
|
+
# Lunar New Year.
|
|
119
155
|
self._add_observed(self._add_chinese_new_years_day(tr("Tahun Baru Cina")))
|
|
120
156
|
|
|
121
157
|
# Hari Kebangsaan
|
|
122
158
|
# Status: In-Use.
|
|
123
159
|
# Starts in 1984.
|
|
124
160
|
|
|
125
|
-
# National Day
|
|
161
|
+
# National Day.
|
|
126
162
|
self._add_observed(self._add_holiday_feb_23(tr("Hari Kebangsaan")))
|
|
127
163
|
|
|
128
164
|
# Hari Angkatan Bersenjata Diraja Brunei
|
|
@@ -131,7 +167,7 @@ class Brunei(
|
|
|
131
167
|
# Commemorates the formation of Royal Brunei Malay Regiment in 1961.
|
|
132
168
|
|
|
133
169
|
self._add_observed(
|
|
134
|
-
# Armed Forces Day
|
|
170
|
+
# Armed Forces Day.
|
|
135
171
|
self._add_holiday_may_31(tr("Hari Angkatan Bersenjata Diraja Brunei"))
|
|
136
172
|
)
|
|
137
173
|
|
|
@@ -140,14 +176,14 @@ class Brunei(
|
|
|
140
176
|
# Started in 1968.
|
|
141
177
|
|
|
142
178
|
self._add_observed(
|
|
143
|
-
# Sultan Hassanal Bolkiah's Birthday
|
|
179
|
+
# Sultan Hassanal Bolkiah's Birthday.
|
|
144
180
|
self._add_holiday_jul_15(tr("Hari Keputeraan KDYMM Sultan Brunei"))
|
|
145
181
|
)
|
|
146
182
|
|
|
147
183
|
# Hari Natal
|
|
148
184
|
# Status: In-Use.
|
|
149
185
|
|
|
150
|
-
# Christmas Day
|
|
186
|
+
# Christmas Day.
|
|
151
187
|
self._add_observed(self._add_christmas_day(tr("Hari Natal")))
|
|
152
188
|
|
|
153
189
|
# Islamic Holidays are placed after Gregorian holidays to prevent
|
|
@@ -156,61 +192,75 @@ class Brunei(
|
|
|
156
192
|
# Israk dan Mikraj
|
|
157
193
|
# Status: In-Use.
|
|
158
194
|
|
|
159
|
-
# Isra' and Mi'raj
|
|
195
|
+
# Isra' and Mi'raj.
|
|
160
196
|
for dt in self._add_isra_and_miraj_day(tr("Israk dan Mikraj")):
|
|
161
197
|
self._add_observed(dt)
|
|
162
198
|
|
|
163
199
|
# Hari Pertama Berpuasa
|
|
164
200
|
# Status: In-Use.
|
|
165
201
|
|
|
166
|
-
# First Day of Ramadan
|
|
202
|
+
# First Day of Ramadan.
|
|
167
203
|
for dt in self._add_ramadan_beginning_day(tr("Hari Pertama Berpuasa")):
|
|
168
204
|
self._add_observed(dt)
|
|
169
205
|
|
|
170
206
|
# Hari Nuzul Al-Quran
|
|
171
207
|
# Status: In-Use.
|
|
172
208
|
|
|
173
|
-
# Anniversary of the revelation of the Quran
|
|
209
|
+
# Anniversary of the revelation of the Quran.
|
|
174
210
|
for dt in self._add_nuzul_al_quran_day(tr("Hari Nuzul Al-Quran")):
|
|
175
211
|
self._add_observed(dt)
|
|
176
212
|
|
|
177
213
|
# Hari Raya Aidil Fitri
|
|
178
214
|
# Status: In-Use.
|
|
179
215
|
# This is celebrate for three days in Brunei.
|
|
180
|
-
# Observed as 'Hari Raya Puasa' and only for 2 days at certain point.
|
|
181
216
|
# 1: If Wed-Thu-Fri -> Sat (3rd Day +1)
|
|
182
217
|
# 2: If Thu-Fri-Sat -> Mon (2nd Day +3)
|
|
183
|
-
# 3: If Fri-Sat-Sun -> Mon (1st Day +3)
|
|
218
|
+
# 3: If Fri-Sat-Sun -> Mon, Tue (1st Day +3, 3rd day +2)
|
|
184
219
|
# 4: If Sat-Sun-Mon -> Tue (2nd Day +2)
|
|
185
220
|
# 5: If Sun-Mon-Tue -> Wed (1st Day +3)
|
|
186
|
-
|
|
187
|
-
#
|
|
221
|
+
# Observed as 'Hari Raya Puasa' and only for 2 days prior to 2012.
|
|
222
|
+
# 1: If Thu-Fri -> Sat (2nd Day +1)
|
|
223
|
+
# 2: If Fri-Sat -> Mon (1nd Day +2)
|
|
224
|
+
# 3: If Sat-Sun -> Mon (2nd Day +1)
|
|
225
|
+
# 4: If Sun-Mon -> Tue (1st Day +2)
|
|
226
|
+
# This was only observed for a single day in 2000.
|
|
227
|
+
|
|
228
|
+
# Eid al-Fitr.
|
|
188
229
|
name = tr("Hari Raya Aidil Fitri")
|
|
189
|
-
|
|
190
|
-
self.
|
|
191
|
-
|
|
192
|
-
self.
|
|
193
|
-
|
|
194
|
-
self.
|
|
230
|
+
if self._year >= 2012:
|
|
231
|
+
for dt in self._add_eid_al_fitr_day(name):
|
|
232
|
+
self._add_observed(dt, rule=FRI_TO_NEXT_MON + SUN_TO_NEXT_WED)
|
|
233
|
+
for dt in self._add_eid_al_fitr_day_two(name):
|
|
234
|
+
self._add_observed(dt, rule=FRI_TO_NEXT_MON + SUN_TO_NEXT_TUE)
|
|
235
|
+
for dt in self._add_eid_al_fitr_day_three(name):
|
|
236
|
+
self._add_observed(dt, rule=FRI_TO_NEXT_SAT + SUN_TO_NEXT_TUE)
|
|
237
|
+
elif self._year == 2000:
|
|
238
|
+
for dt in self._add_eid_al_fitr_day(name):
|
|
239
|
+
self._add_observed(dt)
|
|
240
|
+
else:
|
|
241
|
+
for dt in self._add_eid_al_fitr_day(name):
|
|
242
|
+
self._add_observed(dt, rule=FRI_TO_NEXT_MON + SUN_TO_NEXT_TUE)
|
|
243
|
+
for dt in self._add_eid_al_fitr_day_two(name):
|
|
244
|
+
self._add_observed(dt)
|
|
195
245
|
|
|
196
246
|
# Hari Raya Aidil Adha
|
|
197
247
|
# Status: In-Use.
|
|
198
248
|
|
|
199
|
-
# Eid al-Adha
|
|
249
|
+
# Eid al-Adha.
|
|
200
250
|
for dt in self._add_eid_al_adha_day(tr("Hari Raya Aidil Adha")):
|
|
201
251
|
self._add_observed(dt)
|
|
202
252
|
|
|
203
253
|
# Awal Tahun Hijrah
|
|
204
254
|
# Status: In-Use.
|
|
205
255
|
|
|
206
|
-
# Islamic New Year
|
|
256
|
+
# Islamic New Year.
|
|
207
257
|
for dt in self._add_islamic_new_year_day(tr("Awal Tahun Hijrah")):
|
|
208
258
|
self._add_observed(dt)
|
|
209
259
|
|
|
210
260
|
# Maulidur Rasul
|
|
211
261
|
# Status: In-Use.
|
|
212
262
|
|
|
213
|
-
# Prophet's Birthday
|
|
263
|
+
# Prophet's Birthday.
|
|
214
264
|
for dt in self._add_mawlid_day(tr("Maulidur Rasul")):
|
|
215
265
|
self._add_observed(dt)
|
|
216
266
|
|
|
@@ -225,101 +275,112 @@ class BRN(Brunei):
|
|
|
225
275
|
|
|
226
276
|
class BruneiIslamicHolidays(_CustomIslamicHolidays):
|
|
227
277
|
EID_AL_ADHA_DATES = {
|
|
228
|
-
|
|
278
|
+
1998: (APR, 7),
|
|
279
|
+
1999: (MAR, 28),
|
|
280
|
+
2000: (MAR, 17),
|
|
229
281
|
2001: (MAR, 6),
|
|
230
282
|
2002: (FEB, 23),
|
|
231
283
|
2003: (FEB, 12),
|
|
232
284
|
2004: (FEB, 2),
|
|
233
285
|
2005: (JAN, 21),
|
|
234
|
-
2006: ((JAN,
|
|
286
|
+
2006: ((JAN, 11), (DEC, 31)),
|
|
235
287
|
2007: (DEC, 20),
|
|
236
|
-
2008: (DEC,
|
|
237
|
-
2009: (NOV,
|
|
238
|
-
2010: (NOV,
|
|
239
|
-
2011: (NOV,
|
|
288
|
+
2008: (DEC, 8),
|
|
289
|
+
2009: (NOV, 27),
|
|
290
|
+
2010: (NOV, 16),
|
|
291
|
+
2011: (NOV, 6),
|
|
240
292
|
2012: (OCT, 26),
|
|
241
293
|
2013: (OCT, 15),
|
|
242
294
|
2014: (OCT, 5),
|
|
243
295
|
2015: (SEP, 24),
|
|
244
|
-
2016: (SEP,
|
|
245
|
-
2017: (SEP,
|
|
296
|
+
2016: (SEP, 12),
|
|
297
|
+
2017: (SEP, 1),
|
|
246
298
|
2018: (AUG, 22),
|
|
247
299
|
2019: (AUG, 11),
|
|
248
|
-
2020: (
|
|
300
|
+
2020: (JUL, 31),
|
|
249
301
|
2021: (JUL, 20),
|
|
250
|
-
2022: (JUL,
|
|
302
|
+
2022: (JUL, 9),
|
|
251
303
|
2023: (JUN, 29),
|
|
252
304
|
2024: (JUN, 17),
|
|
305
|
+
2025: (JUN, 7),
|
|
253
306
|
}
|
|
254
307
|
|
|
255
308
|
EID_AL_FITR_DATES = {
|
|
256
|
-
|
|
257
|
-
|
|
309
|
+
1998: (JAN, 30),
|
|
310
|
+
1999: (JAN, 19),
|
|
311
|
+
2000: ((JAN, 8), (DEC, 27)),
|
|
312
|
+
2001: (DEC, 16),
|
|
258
313
|
2002: (DEC, 6),
|
|
259
|
-
2003: (NOV,
|
|
314
|
+
2003: (NOV, 25),
|
|
260
315
|
2004: (NOV, 14),
|
|
261
|
-
2005: (NOV,
|
|
316
|
+
2005: (NOV, 4),
|
|
262
317
|
2006: (OCT, 24),
|
|
263
318
|
2007: (OCT, 13),
|
|
264
319
|
2008: (OCT, 1),
|
|
265
320
|
2009: (SEP, 20),
|
|
266
321
|
2010: (SEP, 10),
|
|
267
|
-
2011: (AUG,
|
|
322
|
+
2011: (AUG, 30),
|
|
268
323
|
2012: (AUG, 19),
|
|
269
324
|
2013: (AUG, 8),
|
|
270
|
-
2014: (JUL,
|
|
271
|
-
2015: (JUL,
|
|
272
|
-
2016: (JUL,
|
|
273
|
-
2017: (JUN,
|
|
325
|
+
2014: (JUL, 28),
|
|
326
|
+
2015: (JUL, 17),
|
|
327
|
+
2016: (JUL, 6),
|
|
328
|
+
2017: (JUN, 25),
|
|
274
329
|
2018: (JUN, 15),
|
|
275
330
|
2019: (JUN, 5),
|
|
276
331
|
2020: (MAY, 24),
|
|
277
332
|
2021: (MAY, 13),
|
|
278
|
-
2022: (MAY,
|
|
333
|
+
2022: (MAY, 2),
|
|
279
334
|
2023: (APR, 22),
|
|
280
335
|
2024: (APR, 10),
|
|
336
|
+
2025: (MAR, 31),
|
|
281
337
|
}
|
|
282
338
|
|
|
283
339
|
HIJRI_NEW_YEAR_DATES = {
|
|
340
|
+
1998: (APR, 28),
|
|
341
|
+
1999: (APR, 17),
|
|
284
342
|
2000: (APR, 6),
|
|
285
343
|
2001: (MAR, 26),
|
|
286
344
|
2002: (MAR, 15),
|
|
287
|
-
2003: (MAR,
|
|
345
|
+
2003: (MAR, 4),
|
|
288
346
|
2004: (FEB, 22),
|
|
289
347
|
2005: (FEB, 10),
|
|
290
348
|
2006: (JAN, 31),
|
|
291
349
|
2007: (JAN, 20),
|
|
292
350
|
2008: ((JAN, 10), (DEC, 29)),
|
|
293
351
|
2009: (DEC, 18),
|
|
294
|
-
2010: (DEC,
|
|
352
|
+
2010: (DEC, 7),
|
|
295
353
|
2011: (NOV, 27),
|
|
296
354
|
2012: (NOV, 15),
|
|
297
355
|
2013: (NOV, 5),
|
|
298
356
|
2014: (OCT, 25),
|
|
299
|
-
2015: (OCT,
|
|
300
|
-
2016: (OCT,
|
|
357
|
+
2015: (OCT, 14),
|
|
358
|
+
2016: (OCT, 2),
|
|
301
359
|
2017: (SEP, 22),
|
|
302
|
-
2018: (SEP,
|
|
360
|
+
2018: (SEP, 11),
|
|
303
361
|
2019: (SEP, 1),
|
|
304
362
|
2020: (AUG, 20),
|
|
305
363
|
2021: (AUG, 10),
|
|
306
364
|
2022: (JUL, 30),
|
|
307
365
|
2023: (JUL, 19),
|
|
308
366
|
2024: (JUL, 7),
|
|
367
|
+
2025: (JUN, 27),
|
|
309
368
|
}
|
|
310
369
|
|
|
311
370
|
ISRA_AND_MIRAJ_DATES = {
|
|
312
|
-
|
|
371
|
+
1998: (NOV, 17),
|
|
372
|
+
1999: (NOV, 6),
|
|
373
|
+
2000: (OCT, 25),
|
|
313
374
|
2001: (OCT, 15),
|
|
314
375
|
2002: (OCT, 4),
|
|
315
376
|
2003: (SEP, 24),
|
|
316
377
|
2004: (SEP, 12),
|
|
317
378
|
2005: (SEP, 1),
|
|
318
|
-
2006: (AUG,
|
|
379
|
+
2006: (AUG, 21),
|
|
319
380
|
2007: (AUG, 11),
|
|
320
|
-
2008: (JUL,
|
|
381
|
+
2008: (JUL, 30),
|
|
321
382
|
2009: (JUL, 20),
|
|
322
|
-
2010: (JUL,
|
|
383
|
+
2010: (JUL, 10),
|
|
323
384
|
2011: (JUN, 29),
|
|
324
385
|
2012: (JUN, 17),
|
|
325
386
|
2013: (JUN, 6),
|
|
@@ -331,15 +392,18 @@ class BruneiIslamicHolidays(_CustomIslamicHolidays):
|
|
|
331
392
|
2019: (APR, 3),
|
|
332
393
|
2020: (MAR, 22),
|
|
333
394
|
2021: (MAR, 11),
|
|
334
|
-
2022: (
|
|
395
|
+
2022: (FEB, 28),
|
|
335
396
|
2023: (FEB, 18),
|
|
336
397
|
2024: (FEB, 8),
|
|
398
|
+
2025: (JAN, 27),
|
|
337
399
|
}
|
|
338
400
|
|
|
339
401
|
MAWLID_DATES = {
|
|
402
|
+
1998: (JUL, 6),
|
|
403
|
+
1999: (JUN, 26),
|
|
340
404
|
2000: (JUN, 15),
|
|
341
405
|
2001: (JUN, 4),
|
|
342
|
-
2002: (MAY,
|
|
406
|
+
2002: (MAY, 25),
|
|
343
407
|
2003: (MAY, 14),
|
|
344
408
|
2004: (MAY, 2),
|
|
345
409
|
2005: (APR, 21),
|
|
@@ -348,24 +412,27 @@ class BruneiIslamicHolidays(_CustomIslamicHolidays):
|
|
|
348
412
|
2008: (MAR, 20),
|
|
349
413
|
2009: (MAR, 9),
|
|
350
414
|
2010: (FEB, 26),
|
|
351
|
-
2011: (FEB,
|
|
415
|
+
2011: (FEB, 15),
|
|
352
416
|
2012: (FEB, 5),
|
|
353
417
|
2013: (JAN, 24),
|
|
354
418
|
2014: (JAN, 14),
|
|
355
419
|
2015: ((JAN, 3), (DEC, 24)),
|
|
356
420
|
2016: (DEC, 12),
|
|
357
421
|
2017: (DEC, 1),
|
|
358
|
-
2018: (NOV,
|
|
422
|
+
2018: (NOV, 20),
|
|
359
423
|
2019: (NOV, 9),
|
|
360
424
|
2020: (OCT, 29),
|
|
361
425
|
2021: (OCT, 19),
|
|
362
426
|
2022: (OCT, 8),
|
|
363
427
|
2023: (SEP, 28),
|
|
364
428
|
2024: (SEP, 16),
|
|
429
|
+
2025: (SEP, 5),
|
|
365
430
|
}
|
|
366
431
|
|
|
367
432
|
NUZUL_AL_QURAN_DATES = {
|
|
368
|
-
|
|
433
|
+
1998: (JAN, 16),
|
|
434
|
+
1999: ((JAN, 5), (DEC, 25)),
|
|
435
|
+
2000: (DEC, 13),
|
|
369
436
|
2001: (DEC, 3),
|
|
370
437
|
2002: (NOV, 22),
|
|
371
438
|
2003: (NOV, 12),
|
|
@@ -377,23 +444,26 @@ class BruneiIslamicHolidays(_CustomIslamicHolidays):
|
|
|
377
444
|
2009: (SEP, 7),
|
|
378
445
|
2010: (AUG, 27),
|
|
379
446
|
2011: (AUG, 17),
|
|
380
|
-
2012: (AUG,
|
|
381
|
-
2013: (JUL,
|
|
447
|
+
2012: (AUG, 6),
|
|
448
|
+
2013: (JUL, 26),
|
|
382
449
|
2014: (JUL, 15),
|
|
383
450
|
2015: (JUL, 4),
|
|
384
|
-
2016: (JUN,
|
|
451
|
+
2016: (JUN, 22),
|
|
385
452
|
2017: (JUN, 12),
|
|
386
453
|
2018: (JUN, 2),
|
|
387
|
-
2019: (MAY,
|
|
454
|
+
2019: (MAY, 22),
|
|
388
455
|
2020: (MAY, 10),
|
|
389
456
|
2021: (APR, 29),
|
|
390
457
|
2022: (APR, 19),
|
|
391
458
|
2023: (APR, 8),
|
|
392
459
|
2024: (MAR, 28),
|
|
460
|
+
2025: (MAR, 18),
|
|
393
461
|
}
|
|
394
462
|
|
|
395
463
|
RAMADAN_BEGINNING_DATES = {
|
|
396
|
-
|
|
464
|
+
1998: (DEC, 20),
|
|
465
|
+
1999: (DEC, 9),
|
|
466
|
+
2000: (NOV, 27),
|
|
397
467
|
2001: (NOV, 17),
|
|
398
468
|
2002: (NOV, 6),
|
|
399
469
|
2003: (OCT, 27),
|
|
@@ -401,28 +471,47 @@ class BruneiIslamicHolidays(_CustomIslamicHolidays):
|
|
|
401
471
|
2005: (OCT, 5),
|
|
402
472
|
2006: (SEP, 24),
|
|
403
473
|
2007: (SEP, 13),
|
|
404
|
-
2008: (SEP,
|
|
474
|
+
2008: (SEP, 1),
|
|
405
475
|
2009: (AUG, 22),
|
|
406
476
|
2010: (AUG, 11),
|
|
407
477
|
2011: (AUG, 1),
|
|
408
|
-
2012: (JUL,
|
|
409
|
-
2013: (JUL,
|
|
478
|
+
2012: (JUL, 21),
|
|
479
|
+
2013: (JUL, 10),
|
|
410
480
|
2014: (JUN, 29),
|
|
411
481
|
2015: (JUN, 18),
|
|
412
|
-
2016: (JUN,
|
|
482
|
+
2016: (JUN, 6),
|
|
413
483
|
2017: (MAY, 27),
|
|
414
|
-
2018: (MAY,
|
|
484
|
+
2018: (MAY, 17),
|
|
415
485
|
2019: (MAY, 6),
|
|
416
|
-
2020: (APR,
|
|
486
|
+
2020: (APR, 24),
|
|
417
487
|
2021: (APR, 13),
|
|
418
488
|
2022: (APR, 3),
|
|
419
489
|
2023: (MAR, 23),
|
|
420
490
|
2024: (MAR, 12),
|
|
491
|
+
2025: (MAR, 2),
|
|
421
492
|
}
|
|
422
493
|
|
|
423
494
|
|
|
424
495
|
class BruneiStaticHolidays:
|
|
425
496
|
special_public_holidays = {
|
|
426
|
-
|
|
497
|
+
1998: (
|
|
498
|
+
AUG,
|
|
499
|
+
10,
|
|
500
|
+
# Proclamation Ceremony of Crown Prince Al-Muhtadee Billah of Brunei.
|
|
501
|
+
tr("Istiadat Pengisytiharan Duli Pengiran Muda Mahkota Al-Muhtadee Billah"),
|
|
502
|
+
),
|
|
503
|
+
# Royal Wedding of Crown Prince Al-Muhtadee Billah and Crown Princess Sarah of Brunei.
|
|
504
|
+
2004: (SEP, 9, tr("Istiadat Perkahwinan Diraja Brunei 2004")),
|
|
505
|
+
# Sultan Hassanal Bolkiah's Golden Jubilee celebration.
|
|
427
506
|
2017: (OCT, 5, tr("Jubli Emas Sultan Hassanal Bolkiah")),
|
|
428
507
|
}
|
|
508
|
+
special_public_holidays_observed = {
|
|
509
|
+
# Christmas Day.
|
|
510
|
+
1999: (DEC, 27, tr("Hari Natal")),
|
|
511
|
+
# National Day.
|
|
512
|
+
2002: (FEB, 25, tr("Hari Kebangsaan")),
|
|
513
|
+
# New Year's Day.
|
|
514
|
+
2007: (JAN, 2, tr("Awal Tahun Masihi")),
|
|
515
|
+
# Anniversary of the revelation of the Quran.
|
|
516
|
+
2014: (JUL, 16, tr("Hari Nuzul Al-Quran")),
|
|
517
|
+
}
|
holidays/countries/cambodia.py
CHANGED
|
@@ -27,6 +27,7 @@ class Cambodia(HolidayBase, InternationalHolidays, StaticHolidays, ThaiCalendarH
|
|
|
27
27
|
- Based on: https://www.nbc.gov.kh/english/news_and_events/official_holiday.php
|
|
28
28
|
https://www.nbc.gov.kh/news_and_events/official_holiday.php
|
|
29
29
|
https://en.wikipedia.org/wiki/Public_holidays_in_Cambodia
|
|
30
|
+
https://admin.taftac-cambodia.org/public/pdf_file/regulation_1704245695_Z7IALJjE.pdf
|
|
30
31
|
|
|
31
32
|
- Checked with: https://asean.org/wp-content/uploads/2021/12/ASEAN-National-Holidays-2022.pdf
|
|
32
33
|
https://asean.org/wp-content/uploads/2022/12/ASEAN-Public-Holidays-2023.pdf
|
|
@@ -278,6 +279,16 @@ class Cambodia(HolidayBase, InternationalHolidays, StaticHolidays, ThaiCalendarH
|
|
|
278
279
|
self._add_holiday(bon_om_touk, _timedelta(bon_om_touk_date, -1))
|
|
279
280
|
self._add_holiday(bon_om_touk, _timedelta(bon_om_touk_date, +1))
|
|
280
281
|
|
|
282
|
+
# ទិវាសន្តិភាពនៅកម្ពុជា
|
|
283
|
+
# Status: In-Use.
|
|
284
|
+
# Dec 29, added from 2024 onwards.
|
|
285
|
+
# - https://www.khmertimeskh.com/501424903/24-public-holidays-for-2024-peace-day-now-included/
|
|
286
|
+
# - https://www.khmertimeskh.com/501551204/govt-announces-22-public-holidays-for-next-year/
|
|
287
|
+
|
|
288
|
+
if self._year >= 2024:
|
|
289
|
+
# Peace Day in Cambodia.
|
|
290
|
+
self._add_holiday_dec_29(tr("ទិវាសន្តិភាពនៅកម្ពុជា"))
|
|
291
|
+
|
|
281
292
|
|
|
282
293
|
class KH(Cambodia):
|
|
283
294
|
pass
|
holidays/countries/china.py
CHANGED
|
@@ -23,6 +23,8 @@ class China(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays,
|
|
|
23
23
|
References:
|
|
24
24
|
- https://en.wikipedia.org/wiki/Public_holidays_in_China
|
|
25
25
|
- `Festivals and Public Holidays <https://zh.wikipedia.org/wiki/中华人民共和国节日与公众假期>`_
|
|
26
|
+
- 2024 changes (Order #795) `<https://www.gov.cn/zhengce/content/202411/content_6986380.htm>`_
|
|
27
|
+
- `2025 <https://www.gov.cn/zhengce/content/202411/content_6986382.htm>`_
|
|
26
28
|
- `2024 <https://www.gov.cn/zhengce/content/202310/content_6911527.htm>`_
|
|
27
29
|
- `2023 <https://www.gov.cn/gongbao/content/2023/content_5736714.htm>`_
|
|
28
30
|
- `2022 <https://www.gov.cn/gongbao/content/2021/content_5651728.htm>`_
|
|
@@ -95,29 +97,34 @@ class China(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays,
|
|
|
95
97
|
# Status: In-Use (Statutory).
|
|
96
98
|
# Day 1-3 of Chinese New Year in 1949, 1999, 2007, and 2013 revision.
|
|
97
99
|
# 2007 revision introduced New Year's Eve (农历除夕) instead of
|
|
98
|
-
# New Year's 3rd day; 2013 revision returned it back
|
|
100
|
+
# New Year's 3rd day; 2013 revision returned it back;
|
|
101
|
+
# 2024 revision returned also New Year's Eve.
|
|
99
102
|
|
|
100
103
|
# Spring Festival Golden Weekend
|
|
101
|
-
# Checked with Official Notice from 2001-
|
|
104
|
+
# Checked with Official Notice from 2001-2025.
|
|
102
105
|
# Consecutive Holidays are available from 2000 (1999 rev.).
|
|
103
106
|
|
|
104
107
|
# Chinese New Year (Spring Festival).
|
|
105
108
|
chinese_new_year = tr("春节")
|
|
109
|
+
# Chinese New Year's Eve.
|
|
110
|
+
chinese_new_years_eve = tr("农历除夕")
|
|
106
111
|
dts_observed.add(self._add_chinese_new_years_day(chinese_new_year))
|
|
107
112
|
dts_observed.add(self._add_chinese_new_years_day_two(chinese_new_year))
|
|
108
113
|
if 2008 <= self._year <= 2013:
|
|
109
|
-
|
|
110
|
-
dts_observed.add(self._add_chinese_new_years_eve(tr("农历除夕")))
|
|
114
|
+
dts_observed.add(self._add_chinese_new_years_eve(chinese_new_years_eve))
|
|
111
115
|
else:
|
|
112
116
|
dts_observed.add(self._add_chinese_new_years_day_three(chinese_new_year))
|
|
117
|
+
if self._year >= 2025:
|
|
118
|
+
dts_observed.add(self._add_chinese_new_years_eve(chinese_new_years_eve))
|
|
113
119
|
|
|
114
120
|
# 劳动节
|
|
115
121
|
# Status: In-Use (Statutory).
|
|
116
122
|
# May 1 in 1949, 1999, 2007, and 2013 revision.
|
|
117
123
|
# Additional Holidays (May 2-3) are available from 2000 (1999 rev.) - 2007 (2007 rev.).
|
|
124
|
+
# May 2 returned in 2024 revision.
|
|
118
125
|
|
|
119
126
|
# Labor Day Golden Weekend
|
|
120
|
-
# Checked with Official Notice from 2001-
|
|
127
|
+
# Checked with Official Notice from 2001-2025.
|
|
121
128
|
# Consecutive Holidays are available from 2002, with exception of ????-????.
|
|
122
129
|
|
|
123
130
|
# Labor Day.
|
|
@@ -126,6 +133,8 @@ class China(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays,
|
|
|
126
133
|
if 2000 <= self._year <= 2007:
|
|
127
134
|
dts_observed.add(self._add_labor_day_two(labor_day))
|
|
128
135
|
dts_observed.add(self._add_labor_day_three(labor_day))
|
|
136
|
+
elif self._year >= 2025:
|
|
137
|
+
dts_observed.add(self._add_labor_day_two(labor_day))
|
|
129
138
|
|
|
130
139
|
# 国庆节
|
|
131
140
|
# Status: In-Use (Statutory).
|
|
@@ -436,6 +445,13 @@ class ChinaStaticHolidays:
|
|
|
436
445
|
(OCT, 4, SEP, 29), # National Day
|
|
437
446
|
(OCT, 7, OCT, 12), # National Day
|
|
438
447
|
),
|
|
448
|
+
2025: (
|
|
449
|
+
(FEB, 3, JAN, 26), # Spring Festival
|
|
450
|
+
(FEB, 4, FEB, 8), # Spring Festival
|
|
451
|
+
(MAY, 5, APR, 27), # Labor Day
|
|
452
|
+
(OCT, 7, SEP, 28), # National Day
|
|
453
|
+
(OCT, 8, OCT, 11), # National Day
|
|
454
|
+
),
|
|
439
455
|
}
|
|
440
456
|
|
|
441
457
|
special_public_holidays_observed = {
|
holidays/countries/finland.py
CHANGED
|
@@ -125,7 +125,7 @@ class Finland(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
125
125
|
|
|
126
126
|
if self._year >= 2019:
|
|
127
127
|
# Europe Day
|
|
128
|
-
self.
|
|
128
|
+
self._add_europe_day(tr("Eurooppa-päivä"))
|
|
129
129
|
|
|
130
130
|
if self._year >= 1918:
|
|
131
131
|
# Mothers' Day
|
holidays/countries/luxembourg.py
CHANGED
|
@@ -42,7 +42,7 @@ class Luxembourg(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
42
42
|
|
|
43
43
|
if self._year >= 2019:
|
|
44
44
|
# Europe Day.
|
|
45
|
-
self.
|
|
45
|
+
self._add_europe_day(tr("Europadag"))
|
|
46
46
|
|
|
47
47
|
# Ascension Day.
|
|
48
48
|
self._add_ascension_thursday(tr("Christi Himmelfaart"))
|
holidays/countries/moldova.py
CHANGED
|
@@ -73,7 +73,7 @@ class Moldova(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
73
73
|
|
|
74
74
|
if self._year >= 2017:
|
|
75
75
|
# Europe Day.
|
|
76
|
-
self.
|
|
76
|
+
self._add_europe_day(tr("Ziua Europei"))
|
|
77
77
|
|
|
78
78
|
if self._year >= 2016:
|
|
79
79
|
# International Children's Day.
|
holidays/countries/portugal.py
CHANGED
|
@@ -63,6 +63,28 @@ class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
63
63
|
"20",
|
|
64
64
|
"30",
|
|
65
65
|
)
|
|
66
|
+
subdivisions_aliases = {
|
|
67
|
+
"Aveiro": "01",
|
|
68
|
+
"Beja": "02",
|
|
69
|
+
"Braga": "03",
|
|
70
|
+
"Bragança": "04",
|
|
71
|
+
"Castelo Branco": "05",
|
|
72
|
+
"Coimbra": "06",
|
|
73
|
+
"Évora": "07",
|
|
74
|
+
"Faro": "08",
|
|
75
|
+
"Guarda": "09",
|
|
76
|
+
"Leiria": "10",
|
|
77
|
+
"Lisboa": "11",
|
|
78
|
+
"Portalegre": "12",
|
|
79
|
+
"Porto": "13",
|
|
80
|
+
"Santarém": "14",
|
|
81
|
+
"Setúbal": "15",
|
|
82
|
+
"Viana do Castelo": "16",
|
|
83
|
+
"Vila Real": "17",
|
|
84
|
+
"Viseu": "18",
|
|
85
|
+
"Região Autónoma dos Açores": "20",
|
|
86
|
+
"Região Autónoma da Madeira": "30",
|
|
87
|
+
}
|
|
66
88
|
_deprecated_subdivisions = ("Ext",)
|
|
67
89
|
supported_languages = ("en_US", "pt_PT", "uk")
|
|
68
90
|
|
|
@@ -66,7 +66,7 @@ class Switzerland(ObservedHolidayBase, ChristianHolidays, InternationalHolidays)
|
|
|
66
66
|
|
|
67
67
|
def _populate_public_holidays(self):
|
|
68
68
|
# New Year's Day.
|
|
69
|
-
self._add_new_years_day(tr("
|
|
69
|
+
self._add_new_years_day(tr("Neujahrstag"))
|
|
70
70
|
|
|
71
71
|
# Ascension Day.
|
|
72
72
|
self._add_ascension_thursday(tr("Auffahrt"))
|
holidays/countries/thailand.py
CHANGED
|
@@ -40,6 +40,7 @@ class Thailand(ObservedHolidayBase, InternationalHolidays, StaticHolidays, ThaiC
|
|
|
40
40
|
- https://resolution.soc.go.th/?prep_id=196007
|
|
41
41
|
- https://github.com/vacanza/holidays/pull/929
|
|
42
42
|
- https://www.thairath.co.th/lifestyle/life/2812118
|
|
43
|
+
- https://www.thaipbs.or.th/news/content/346216
|
|
43
44
|
- [New Year's Day]
|
|
44
45
|
`wikisource.org <http://tiny.cc/wa_wiki_thai_newyear_2483>`_
|
|
45
46
|
- [National Children's Day]
|
|
@@ -832,6 +833,11 @@ class ThailandStaticHolidays:
|
|
|
832
833
|
(APR, 12, thai_bridge_public_holiday),
|
|
833
834
|
(DEC, 30, thai_bridge_public_holiday),
|
|
834
835
|
),
|
|
836
|
+
2025: (
|
|
837
|
+
(JUN, 2, thai_bridge_public_holiday),
|
|
838
|
+
(AUG, 11, thai_bridge_public_holiday),
|
|
839
|
+
),
|
|
840
|
+
2026: (JAN, 2, thai_bridge_public_holiday),
|
|
835
841
|
}
|
|
836
842
|
special_workday_holidays = {1999: (MAY, 14, tr("วันพืชมงคล"))}
|
|
837
843
|
|