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
use crate::data::{YearFact, months};
/// Официальный производственный календарь на 2018 год.
///
/// На основе Постановления Правительства РФ от 14.10.2017 № 1250
/// "О переносе выходных дней в 2018 году".
pub(crate) const Y2018: YearFact = YearFact {
holidays: months! {
Jan: [1, 2, 3, 4, 5, 6, 7, 8], // Новогодние каникулы (1–6,8) + Рождество Христово (7)
Feb: [23], // День защитника Отечества
Mar: [8], // Международный женский день
May: [1, 9], // Праздник Весны и Труда (1), День Победы (9)
Jun: [12], // День России
Nov: [4], // День народного единства
},
extra_days_off: months! {
Mar: [9], // перенос с 6 января (сб)
Apr: [30], // перенос с 7 января (вс)
May: [2], // перенос с 28 апреля (рабочая сб)
Jun: [11], // перенос с 9 июня (рабочая сб)
Nov: [5], // перенос с 4 ноября (вс)
Dec: [31], // перенос с 29 декабря (рабочая сб)
},
working_days: months! {
Apr: [28], // рабочая суббота
Jun: [9], // рабочая суббота
Dec: [29], // рабочая суббота
},
short_days: months! {
Feb: [22], // перед 23 февраля
Mar: [7], // перед 8 марта
Apr: [28], // рабочая суббота, короткий день перед 1 мая
May: [8], // перед 9 мая
Jun: [9], // рабочая суббота, короткий день перед 12 июня
Nov: [2], // перед 4 ноября
},
transferred_days: months! {
Jan: [6, 7], // источники переносов (праздники на выходных)
Mar: [9], // цель переноса
Apr: [28, 30], // рабочая суббота + цель переноса
May: [2], // цель переноса
Jun: [9, 11], // рабочая суббота + цель переноса
Nov: [4, 5], // источник (праздник на выходном) + цель переноса
Dec: [29, 31], // рабочая суббота + цель переноса
},
};