Skip to content

Commit 8a7a3c4

Browse files
authored
Merge pull request #142 from ryu0114h/bugfix/mountain-day
Fix: Handle Mountain Day Holiday Correctly in Jp
2 parents 36b2290 + 384ff9e commit 8a7a3c4

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

v2/jp/jp_holidays.go

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,24 @@ var (
145145

146146
// MountainDay represents Mountain Day on 11-August
147147
MountainDay = &cal.Holiday{
148-
Name: "Mountain Day",
149-
Type: cal.ObservancePublic,
150-
Month: time.August,
151-
Day: 11,
152-
Observed: weekendAlt,
153-
Func: cal.CalcDayOfMonth,
148+
Name: "Mountain Day",
149+
Type: cal.ObservancePublic,
150+
Month: time.August,
151+
Day: 11,
152+
Observed: weekendAlt,
153+
Func: func(h *cal.Holiday, year int) time.Time {
154+
switch year {
155+
case 2020:
156+
// Mountain Day is observed on August 10 in 2020
157+
return time.Date(year, time.August, 10, 0, 0, 0, 0, time.Local)
158+
case 2021:
159+
// Mountain Day is observed on August 8 from 2021
160+
return time.Date(year, time.August, 8, 0, 0, 0, 0, time.Local)
161+
default:
162+
// For all other years, Mountain Day is observed on August 11
163+
return time.Date(year, time.August, 11, 0, 0, 0, 0, time.Local)
164+
}
165+
},
154166
StartYear: 2016,
155167
}
156168

v2/jp/jp_holidays_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,11 @@ func TestHolidays(t *testing.T) {
131131
{MountainDay, 2017, d(2017, 8, 11), d(2017, 8, 11)},
132132
{MountainDay, 2018, d(2018, 8, 11), d(2018, 8, 11)},
133133
{MountainDay, 2019, d(2019, 8, 11), d(2019, 8, 12)},
134-
{MountainDay, 2020, d(2020, 8, 11), d(2020, 8, 11)},
135-
{MountainDay, 2021, d(2021, 8, 11), d(2021, 8, 11)},
134+
{MountainDay, 2020, d(2020, 8, 10), d(2020, 8, 10)},
135+
{MountainDay, 2021, d(2021, 8, 8), d(2021, 8, 9)},
136136
{MountainDay, 2022, d(2022, 8, 11), d(2022, 8, 11)},
137+
{MountainDay, 2023, d(2023, 8, 11), d(2023, 8, 11)},
138+
{MountainDay, 2024, d(2024, 8, 11), d(2024, 8, 12)},
137139

138140
{RespectForTheAgedDay, 2015, d(2015, 9, 21), d(2015, 9, 21)},
139141
{RespectForTheAgedDay, 2016, d(2016, 9, 19), d(2016, 9, 19)},

0 commit comments

Comments
 (0)