forked from rickar/cal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ru_holidays.go
106 lines (93 loc) · 2.71 KB
/
ru_holidays.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
// (c) Rick Arnold. Licensed under the BSD license (see LICENSE).
// Package ru provides holiday definitions for Russia.
package ru
import (
"time"
"github.com/rickar/cal/v2"
"github.com/rickar/cal/v2/aa"
)
var (
// Standard RU weekend substitution rules:
// Saturdays move to Monday
// Sundays move to Monday
weekendAlt = []cal.AltDay{
{Day: time.Saturday, Offset: 2},
{Day: time.Sunday, Offset: 1},
}
// NewYear represents New Year's Day on 1-Jan
NewYear = aa.NewYear.Clone(&cal.Holiday{
Name: "Новый Год",
Type: cal.ObservancePublic,
Observed: weekendAlt,
})
// OrthodoxChristmas represents Orthodox Christmas on 7-Jan
OrthodoxChristmas = &cal.Holiday{
Name: "Рождество Христово",
Type: cal.ObservancePublic,
Month: time.January,
Day: 7,
Observed: weekendAlt,
Func: cal.CalcDayOfMonth,
}
// MilitaryDay represents Defender of the Fatherland Day 23-Feb
MilitaryDay = &cal.Holiday{
Name: "День защитника Отечества",
Type: cal.ObservancePublic,
Month: time.February,
Day: 23,
Observed: weekendAlt,
Func: cal.CalcDayOfMonth,
}
// WomensDay represents International Women's Day 8-Mar
WomensDay = &cal.Holiday{
Name: "Международный женский день",
Type: cal.ObservancePublic,
Month: time.March,
Day: 8,
Observed: weekendAlt,
Func: cal.CalcDayOfMonth,
}
// LabourDay represents Labour Day on 1-May
LabourDay = aa.WorkersDay.Clone(&cal.Holiday{
Name: "Праздник Весны и Труда",
Type: cal.ObservancePublic,
Observed: weekendAlt})
// VictoryDay represents Victory Day on 9-May
VictoryDay = &cal.Holiday{
Name: "День Победы советского народа в Великой Отечественной войне 1941-1945 годов",
Type: cal.ObservancePublic,
Month: time.May,
Day: 9,
Observed: weekendAlt,
Func: cal.CalcDayOfMonth,
}
// RussiasDay represents Russia's Day on 12-Jun
RussiasDay = &cal.Holiday{
Name: "День России",
Type: cal.ObservancePublic,
Month: time.June,
Day: 12,
Observed: weekendAlt,
Func: cal.CalcDayOfMonth,
}
// UnionDay represents National Union Day on 4-Nov
UnionDay = &cal.Holiday{
Name: "День народного едиснтва России",
Type: cal.ObservancePublic,
Month: time.November,
Day: 4,
Observed: weekendAlt,
Func: cal.CalcDayOfMonth,
}
// Holidays provides a list of the standard national holidays
Holidays = []*cal.Holiday{
NewYear,
OrthodoxChristmas,
MilitaryDay,
WomensDay,
LabourDay,
VictoryDay,
RussiasDay,
UnionDay,
}
)