Skip to content

Commit 44fb6fe

Browse files
authored
Merge pull request #613 from commenthol/feat-nf-norfork-island
feat(NF,#294): Add Norfolk Island
2 parents eb17a2f + 59e3dc2 commit 44fb6fe

18 files changed

Lines changed: 2147 additions & 10 deletions

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ If you are missing holidays from your country, state, region please consider
5757
<!-- !tree -->
5858

5959
```
60-
Countries: 204
60+
Countries: 205
6161
├── AD: Andorra
6262
│ └── 07: Andorra la Vella
6363
├── AE: دولة الإمارات العربية المتحدة
@@ -481,6 +481,7 @@ Countries: 204
481481
├── NA: Namibia
482482
├── NC: Nouvelle-Calédonie
483483
├── NE: République du Niger
484+
├── NF: Norfolk Island
484485
├── NG: Nigeria
485486
├── NI: Nicaragua
486487
├── NL: Nederland

data/countries/NF.todo

Lines changed: 0 additions & 9 deletions
This file was deleted.

data/countries/NF.yaml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
holidays:
2+
# @source http://www.norfolkisland.gov.nf/sites/default/files/docs/NIRC/Gazettes/2017/2017_09_29%20Gazette%20No.%2099.pdf 2018
3+
# @source http://www.norfolkisland.gov.nf/sites/default/files/docs/NIRC/Gazettes/2018_06_29%20Gazette%20No.%2026.pdf 2019
4+
# @source http://www.norfolkisland.gov.nf/sites/default/files/docs/NIRC/Gazettes/2019_07_05%20Gazette%20No.%2030.pdf 2020
5+
# @source http://www.norfolkislander.com/images/2020_07_31_Gazette_No._35.pdf 2021
6+
# @source http://www.norfolkisland.gov.nf/sites/default/files/docs/NIRC/Gazettes/2021_07_09%20Gazette%20No.%2029.pdf 2022
7+
NF:
8+
names:
9+
en: Norfolk Island
10+
dayoff: sunday
11+
langs:
12+
- en
13+
zones:
14+
- Pacific/Norfolk
15+
_days: AU
16+
days:
17+
2nd monday in March: false
18+
03-06 and if saturday,sunday then next monday:
19+
name:
20+
en: Foundation Day
21+
type: public
22+
easter: false
23+
04-25 if sunday then next monday: false
24+
"2020-04-27": false
25+
04-25:
26+
name:
27+
en: Anzac Day
28+
easter -1: false
29+
monday after 05-27: false
30+
06-08 if saturday,sunday then next monday:
31+
substitute: true
32+
name:
33+
en: Anniversary (Bounty) Day
34+
type: public
35+
2nd monday in June: false
36+
# FIXME: twice "is public holiday then" results in infinite recursion; needs fix in parser
37+
# Monday after 2nd saturday in June prior to 2022-09-09 if is public holiday then next monday:
38+
Monday after 2nd saturday in June prior to 2022-09-09:
39+
substitute: true
40+
name:
41+
en: Queen's Birthday
42+
# "2nd monday in June #1": false
43+
Monday after 2nd saturday in June since 2022-09-09 if is public holiday then next monday:
44+
name:
45+
en: King's Birthday
46+
1st monday in October: false
47+
2nd monday in October:
48+
name:
49+
en: Norfolk Island Agricultural Show
50+
type: public
51+
Wednesday before 12-01:
52+
name:
53+
en: Thanksgiving Day
54+
type: public

test/fixtures/NF-2015.json

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
[
2+
{
3+
"date": "2015-01-01 00:00:00",
4+
"start": "2014-12-31T12:30:00.000Z",
5+
"end": "2015-01-01T12:30:00.000Z",
6+
"name": "New Year's Day",
7+
"type": "public",
8+
"rule": "01-01 and if saturday,sunday then next monday",
9+
"_weekday": "Thu"
10+
},
11+
{
12+
"date": "2015-01-26 00:00:00",
13+
"start": "2015-01-25T12:30:00.000Z",
14+
"end": "2015-01-26T12:30:00.000Z",
15+
"name": "Australia Day",
16+
"type": "public",
17+
"rule": "01-26 if saturday,sunday then next monday",
18+
"_weekday": "Mon"
19+
},
20+
{
21+
"date": "2015-03-06 00:00:00",
22+
"start": "2015-03-05T12:30:00.000Z",
23+
"end": "2015-03-06T12:30:00.000Z",
24+
"name": "Foundation Day",
25+
"type": "public",
26+
"rule": "03-06 and if saturday,sunday then next monday",
27+
"_weekday": "Fri"
28+
},
29+
{
30+
"date": "2015-04-03 00:00:00",
31+
"start": "2015-04-02T12:30:00.000Z",
32+
"end": "2015-04-03T12:30:00.000Z",
33+
"name": "Good Friday",
34+
"type": "public",
35+
"rule": "easter -2",
36+
"_weekday": "Fri"
37+
},
38+
{
39+
"date": "2015-04-06 00:00:00",
40+
"start": "2015-04-05T12:30:00.000Z",
41+
"end": "2015-04-06T12:30:00.000Z",
42+
"name": "Easter Monday",
43+
"type": "public",
44+
"rule": "easter 1",
45+
"_weekday": "Mon"
46+
},
47+
{
48+
"date": "2015-04-25 00:00:00",
49+
"start": "2015-04-24T12:30:00.000Z",
50+
"end": "2015-04-25T12:30:00.000Z",
51+
"name": "Anzac Day",
52+
"type": "public",
53+
"rule": "04-25",
54+
"_weekday": "Sat"
55+
},
56+
{
57+
"date": "2015-05-10 00:00:00",
58+
"start": "2015-05-09T12:30:00.000Z",
59+
"end": "2015-05-10T12:30:00.000Z",
60+
"name": "Mother's Day",
61+
"type": "observance",
62+
"rule": "2nd sunday in May",
63+
"_weekday": "Sun"
64+
},
65+
{
66+
"date": "2015-06-08 00:00:00",
67+
"start": "2015-06-07T12:30:00.000Z",
68+
"end": "2015-06-08T12:30:00.000Z",
69+
"name": "Anniversary (Bounty) Day",
70+
"type": "public",
71+
"rule": "06-08 if saturday,sunday then next monday",
72+
"_weekday": "Mon"
73+
},
74+
{
75+
"date": "2015-06-15 00:00:00",
76+
"start": "2015-06-14T12:30:00.000Z",
77+
"end": "2015-06-15T12:30:00.000Z",
78+
"name": "Queen's Birthday",
79+
"type": "public",
80+
"rule": "Monday after 2nd saturday in June prior to 2022-09-09",
81+
"_weekday": "Mon"
82+
},
83+
{
84+
"date": "2015-09-06 00:00:00",
85+
"start": "2015-09-05T12:30:00.000Z",
86+
"end": "2015-09-06T12:30:00.000Z",
87+
"name": "Father's Day",
88+
"type": "observance",
89+
"rule": "1st sunday in September",
90+
"_weekday": "Sun"
91+
},
92+
{
93+
"date": "2015-10-12 00:00:00",
94+
"start": "2015-10-11T13:00:00.000Z",
95+
"end": "2015-10-12T13:00:00.000Z",
96+
"name": "Norfolk Island Agricultural Show",
97+
"type": "public",
98+
"rule": "2nd monday in October",
99+
"_weekday": "Mon"
100+
},
101+
{
102+
"date": "2015-11-25 00:00:00",
103+
"start": "2015-11-24T13:00:00.000Z",
104+
"end": "2015-11-25T13:00:00.000Z",
105+
"name": "Thanksgiving Day",
106+
"type": "public",
107+
"rule": "Wednesday before 12-01",
108+
"_weekday": "Wed"
109+
},
110+
{
111+
"date": "2015-12-25 00:00:00",
112+
"start": "2015-12-24T13:00:00.000Z",
113+
"end": "2015-12-25T13:00:00.000Z",
114+
"name": "Christmas Day",
115+
"type": "public",
116+
"rule": "12-25 and if saturday then next monday if sunday then next tuesday",
117+
"_weekday": "Fri"
118+
},
119+
{
120+
"date": "2015-12-26 00:00:00",
121+
"start": "2015-12-25T13:00:00.000Z",
122+
"end": "2015-12-26T13:00:00.000Z",
123+
"name": "Boxing Day",
124+
"type": "public",
125+
"rule": "12-26 and if saturday then next monday if sunday then next tuesday",
126+
"_weekday": "Sat"
127+
},
128+
{
129+
"date": "2015-12-28 00:00:00",
130+
"start": "2015-12-27T13:00:00.000Z",
131+
"end": "2015-12-28T13:00:00.000Z",
132+
"name": "Boxing Day (substitute day)",
133+
"type": "public",
134+
"substitute": true,
135+
"rule": "12-26 and if saturday then next monday if sunday then next tuesday",
136+
"_weekday": "Mon"
137+
}
138+
]

test/fixtures/NF-2016.json

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
[
2+
{
3+
"date": "2016-01-01 00:00:00",
4+
"start": "2015-12-31T13:00:00.000Z",
5+
"end": "2016-01-01T13:00:00.000Z",
6+
"name": "New Year's Day",
7+
"type": "public",
8+
"rule": "01-01 and if saturday,sunday then next monday",
9+
"_weekday": "Fri"
10+
},
11+
{
12+
"date": "2016-01-26 00:00:00",
13+
"start": "2016-01-25T13:00:00.000Z",
14+
"end": "2016-01-26T13:00:00.000Z",
15+
"name": "Australia Day",
16+
"type": "public",
17+
"rule": "01-26 if saturday,sunday then next monday",
18+
"_weekday": "Tue"
19+
},
20+
{
21+
"date": "2016-03-06 00:00:00",
22+
"start": "2016-03-05T13:00:00.000Z",
23+
"end": "2016-03-06T13:00:00.000Z",
24+
"name": "Foundation Day",
25+
"type": "public",
26+
"rule": "03-06 and if saturday,sunday then next monday",
27+
"_weekday": "Sun"
28+
},
29+
{
30+
"date": "2016-03-07 00:00:00",
31+
"start": "2016-03-06T13:00:00.000Z",
32+
"end": "2016-03-07T13:00:00.000Z",
33+
"name": "Foundation Day",
34+
"type": "public",
35+
"rule": "03-06 and if saturday,sunday then next monday",
36+
"_weekday": "Mon"
37+
},
38+
{
39+
"date": "2016-03-25 00:00:00",
40+
"start": "2016-03-24T13:00:00.000Z",
41+
"end": "2016-03-25T13:00:00.000Z",
42+
"name": "Good Friday",
43+
"type": "public",
44+
"rule": "easter -2",
45+
"_weekday": "Fri"
46+
},
47+
{
48+
"date": "2016-03-28 00:00:00",
49+
"start": "2016-03-27T13:00:00.000Z",
50+
"end": "2016-03-28T13:00:00.000Z",
51+
"name": "Easter Monday",
52+
"type": "public",
53+
"rule": "easter 1",
54+
"_weekday": "Mon"
55+
},
56+
{
57+
"date": "2016-04-25 00:00:00",
58+
"start": "2016-04-24T13:00:00.000Z",
59+
"end": "2016-04-25T13:00:00.000Z",
60+
"name": "Anzac Day",
61+
"type": "public",
62+
"rule": "04-25",
63+
"_weekday": "Mon"
64+
},
65+
{
66+
"date": "2016-05-08 00:00:00",
67+
"start": "2016-05-07T13:00:00.000Z",
68+
"end": "2016-05-08T13:00:00.000Z",
69+
"name": "Mother's Day",
70+
"type": "observance",
71+
"rule": "2nd sunday in May",
72+
"_weekday": "Sun"
73+
},
74+
{
75+
"date": "2016-06-08 00:00:00",
76+
"start": "2016-06-07T13:00:00.000Z",
77+
"end": "2016-06-08T13:00:00.000Z",
78+
"name": "Anniversary (Bounty) Day",
79+
"type": "public",
80+
"rule": "06-08 if saturday,sunday then next monday",
81+
"_weekday": "Wed"
82+
},
83+
{
84+
"date": "2016-06-13 00:00:00",
85+
"start": "2016-06-12T13:00:00.000Z",
86+
"end": "2016-06-13T13:00:00.000Z",
87+
"name": "Queen's Birthday",
88+
"type": "public",
89+
"rule": "Monday after 2nd saturday in June prior to 2022-09-09",
90+
"_weekday": "Mon"
91+
},
92+
{
93+
"date": "2016-09-04 00:00:00",
94+
"start": "2016-09-03T13:00:00.000Z",
95+
"end": "2016-09-04T13:00:00.000Z",
96+
"name": "Father's Day",
97+
"type": "observance",
98+
"rule": "1st sunday in September",
99+
"_weekday": "Sun"
100+
},
101+
{
102+
"date": "2016-10-10 00:00:00",
103+
"start": "2016-10-09T13:00:00.000Z",
104+
"end": "2016-10-10T13:00:00.000Z",
105+
"name": "Norfolk Island Agricultural Show",
106+
"type": "public",
107+
"rule": "2nd monday in October",
108+
"_weekday": "Mon"
109+
},
110+
{
111+
"date": "2016-11-30 00:00:00",
112+
"start": "2016-11-29T13:00:00.000Z",
113+
"end": "2016-11-30T13:00:00.000Z",
114+
"name": "Thanksgiving Day",
115+
"type": "public",
116+
"rule": "Wednesday before 12-01",
117+
"_weekday": "Wed"
118+
},
119+
{
120+
"date": "2016-12-25 00:00:00",
121+
"start": "2016-12-24T13:00:00.000Z",
122+
"end": "2016-12-25T13:00:00.000Z",
123+
"name": "Christmas Day",
124+
"type": "public",
125+
"rule": "12-25 and if saturday then next monday if sunday then next tuesday",
126+
"_weekday": "Sun"
127+
},
128+
{
129+
"date": "2016-12-26 00:00:00",
130+
"start": "2016-12-25T13:00:00.000Z",
131+
"end": "2016-12-26T13:00:00.000Z",
132+
"name": "Boxing Day",
133+
"type": "public",
134+
"rule": "12-26 and if saturday then next monday if sunday then next tuesday",
135+
"_weekday": "Mon"
136+
},
137+
{
138+
"date": "2016-12-27 00:00:00",
139+
"start": "2016-12-26T13:00:00.000Z",
140+
"end": "2016-12-27T13:00:00.000Z",
141+
"name": "Christmas Day (substitute day)",
142+
"type": "public",
143+
"substitute": true,
144+
"rule": "12-25 and if saturday then next monday if sunday then next tuesday",
145+
"_weekday": "Tue"
146+
}
147+
]

0 commit comments

Comments
 (0)