holiday_japan 1.4.3 → 1.4.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff5b05052915590e2ce0e47e5850dbb591763607afd0654edc992b209a689248
4
- data.tar.gz: 0b37dc4a6c7238ec21ba7c9d6b8786abece7b124f4fe05adb8c7994cc6e9dcb0
3
+ metadata.gz: fa83de54f75e47487ab3a1ade42e1975626626277bfacd7216d6ef49e33a29b1
4
+ data.tar.gz: 33dc6e82aeaaa225235235b5a9c1088316f2edd223fa46f8d1a16ac872fd7a1f
5
5
  SHA512:
6
- metadata.gz: 0b60f539c53afb041807e92b3ad624ca2c9fc06f2c758b95adda7072df60f8cefb3c158c8ba86fad0c520c620b5409b654ccc1cbb81ca0d7d232ddb6328cfb02
7
- data.tar.gz: 45a4d2ea31afbcae07875799f712e595e0535b3d56889cd43c79c39973ed9a2bffad0daeafdb726dee0d647de712fed0f7abb8d25dc753a69eadf6ed1cd1631b
6
+ metadata.gz: e4d95886e086319038d5d550bbbd72fdd1c57032a95cda32b2c8ad21bbbd2ff400bff7ebf5d3cc8fcb4dc4a65647759310c1112bddd802417eab0f98cb661726
7
+ data.tar.gz: fcba6ca2e2d6f35777b0f822f28f0196e4cdacfd3a6bf9ac9cc69484f4a044115584dac34f7e6960dbe5f390ad1c22977cc62d649babe7fefe340214b2ae0dfe
data/README.md CHANGED
@@ -1,3 +1,4 @@
1
+
1
2
  # 日本の祝日判定Rubyプログラム
2
3
 
3
4
  ([GitHub](https://github.com/masa16/holiday_japan)),
@@ -12,6 +13,9 @@
12
13
  * 祝日名を返すことが可能
13
14
  * 祝日のルールをテーブルで持つことにより、法改正による祝日変更への対応が容易
14
15
 
16
+ ([holiday_jp](https://rubygems.org/gems/holiday_jp) と比較して)
17
+ * holiday_jp は日付をキーとする祝日データセットに基く。holiday_japan は祝日ルールに基き、照会された年ごとにデータセットを生成する。
18
+
15
19
  ## インストール
16
20
 
17
21
  * RubyGems によるインストール
@@ -35,157 +39,143 @@
35
39
  * `check(date)` ― Dateクラスのオブジェクトによる祝日判定
36
40
 
37
41
  ```ruby
38
- HolidayJapan.check(Date.new(2019,3,21))
42
+ HolidayJapan.check(Date.new(2021,3,20))
39
43
  => true
40
44
  ```
41
45
 
46
+
42
47
  * `name(date)` ― 日付が祝日の場合は祝日名を返し、祝日でなければ nil を返す。
43
48
 
44
49
  ```ruby
45
- HolidayJapan.name(Date.new(2019,3,21))
50
+ HolidayJapan.name(Date.new(2021,3,20))
46
51
  => "春分の日"
47
52
  ```
48
53
 
54
+
49
55
  * `print_year(year)` ― ある年の祝日一覧をプリント
50
56
 
51
57
  ```
52
- $ ruby -r holiday_japan -e 'HolidayJapan.print_year 2019'
53
- listing year 2019...
54
- 2019-01-01 Tue 元日
55
- 2019-01-14 Mon 成人の日
56
- 2019-02-11 Mon 建国記念の日
57
- 2019-03-21 Thu 春分の日
58
- 2019-04-29 Mon 昭和の日
59
- 2019-04-30 Tue 国民の休日
60
- 2019-05-01 Wed 即位の日(名称未定)
61
- 2019-05-02 Thu 国民の休日
62
- 2019-05-03 Fri 憲法記念日
63
- 2019-05-04 Sat みどりの日
64
- 2019-05-05 Sun こどもの日
65
- 2019-05-06 Mon 振替休日
66
- 2019-07-15 Mon 海の日
67
- 2019-08-11 Sun 山の日
68
- 2019-08-12 Mon 振替休日
69
- 2019-09-16 Mon 敬老の日
70
- 2019-09-23 Mon 秋分の日
71
- 2019-10-14 Mon 体育の日
72
- 2019-10-22 Tue 即位礼正殿の儀
73
- 2019-11-03 Sun 文化の日
74
- 2019-11-04 Mon 振替休日
75
- 2019-11-23 Sat 勤労感謝の日
58
+ $ ruby -r holiday_japan -e 'HolidayJapan.print_year 2021'
59
+ listing year 2021...
60
+ 2021-01-01 Fri 元日
61
+ 2021-01-11 Mon 成人の日
62
+ 2021-02-11 Thu 建国記念の日
63
+ 2021-02-23 Tue 天皇誕生日
64
+ 2021-03-20 Sat 春分の日
65
+ 2021-04-29 Thu 昭和の日
66
+ 2021-05-03 Mon 憲法記念日
67
+ 2021-05-04 Tue みどりの日
68
+ 2021-05-05 Wed こどもの日
69
+ 2021-07-22 Thu 海の日
70
+ 2021-07-23 Fri スポーツの日
71
+ 2021-08-08 Sun 山の日
72
+ 2021-08-09 Mon 振替休日
73
+ 2021-09-20 Mon 敬老の日
74
+ 2021-09-23 Thu 秋分の日
75
+ 2021-11-03 Wed 文化の日
76
+ 2021-11-23 Tue 勤労感謝の日
77
+
76
78
  ```
77
79
 
78
80
  * `list_year(year)` ― ある年について、 [日付, 祝日名] のArrayを返す
79
81
 
80
82
  ```ruby
81
- HolidayJapan.list_year(2019)
82
- => [[#<Date: 2019-01-01 ((2458485j,0s,0n),+0s,2299161j)>, "元日"],
83
- [#<Date: 2019-01-14 ((2458498j,0s,0n),+0s,2299161j)>, "成人の日"],
84
- [#<Date: 2019-02-11 ((2458526j,0s,0n),+0s,2299161j)>, "建国記念の日"],
85
- [#<Date: 2019-03-21 ((2458564j,0s,0n),+0s,2299161j)>, "春分の日"],
86
- [#<Date: 2019-04-29 ((2458603j,0s,0n),+0s,2299161j)>, "昭和の日"],
87
- [#<Date: 2019-04-30 ((2458604j,0s,0n),+0s,2299161j)>, "国民の休日"],
88
- [#<Date: 2019-05-01 ((2458605j,0s,0n),+0s,2299161j)>, "即位の日(名称未定)"],
89
- [#<Date: 2019-05-02 ((2458606j,0s,0n),+0s,2299161j)>, "国民の休日"],
90
- [#<Date: 2019-05-03 ((2458607j,0s,0n),+0s,2299161j)>, "憲法記念日"],
91
- [#<Date: 2019-05-04 ((2458608j,0s,0n),+0s,2299161j)>, "みどりの日"],
92
- [#<Date: 2019-05-05 ((2458609j,0s,0n),+0s,2299161j)>, "こどもの日"],
93
- [#<Date: 2019-05-06 ((2458610j,0s,0n),+0s,2299161j)>, "振替休日"],
94
- [#<Date: 2019-07-15 ((2458680j,0s,0n),+0s,2299161j)>, "海の日"],
95
- [#<Date: 2019-08-11 ((2458707j,0s,0n),+0s,2299161j)>, "山の日"],
96
- [#<Date: 2019-08-12 ((2458708j,0s,0n),+0s,2299161j)>, "振替休日"],
97
- [#<Date: 2019-09-16 ((2458743j,0s,0n),+0s,2299161j)>, "敬老の日"],
98
- [#<Date: 2019-09-23 ((2458750j,0s,0n),+0s,2299161j)>, "秋分の日"],
99
- [#<Date: 2019-10-14 ((2458771j,0s,0n),+0s,2299161j)>, "体育の日"],
100
- [#<Date: 2019-10-22 ((2458779j,0s,0n),+0s,2299161j)>, "即位礼正殿の儀"],
101
- [#<Date: 2019-11-03 ((2458791j,0s,0n),+0s,2299161j)>, "文化の日"],
102
- [#<Date: 2019-11-04 ((2458792j,0s,0n),+0s,2299161j)>, "振替休日"],
103
- [#<Date: 2019-11-23 ((2458811j,0s,0n),+0s,2299161j)>, "勤労感謝の日"]]
83
+ HolidayJapan.list_year(2021)
84
+ => [[#<Date: 2021-01-01 ((2459216j,0s,0n),+0s,2299161j)>, "元日"],
85
+ [#<Date: 2021-01-11 ((2459226j,0s,0n),+0s,2299161j)>, "成人の日"],
86
+ [#<Date: 2021-02-11 ((2459257j,0s,0n),+0s,2299161j)>, "建国記念の日"],
87
+ [#<Date: 2021-02-23 ((2459269j,0s,0n),+0s,2299161j)>, "天皇誕生日"],
88
+ [#<Date: 2021-03-20 ((2459294j,0s,0n),+0s,2299161j)>, "春分の日"],
89
+ [#<Date: 2021-04-29 ((2459334j,0s,0n),+0s,2299161j)>, "昭和の日"],
90
+ [#<Date: 2021-05-03 ((2459338j,0s,0n),+0s,2299161j)>, "憲法記念日"],
91
+ [#<Date: 2021-05-04 ((2459339j,0s,0n),+0s,2299161j)>, "みどりの日"],
92
+ [#<Date: 2021-05-05 ((2459340j,0s,0n),+0s,2299161j)>, "こどもの日"],
93
+ [#<Date: 2021-07-22 ((2459418j,0s,0n),+0s,2299161j)>, "海の日"],
94
+ [#<Date: 2021-07-23 ((2459419j,0s,0n),+0s,2299161j)>, "スポーツの日"],
95
+ [#<Date: 2021-08-08 ((2459435j,0s,0n),+0s,2299161j)>, "山の日"],
96
+ [#<Date: 2021-08-09 ((2459436j,0s,0n),+0s,2299161j)>, "振替休日"],
97
+ [#<Date: 2021-09-20 ((2459478j,0s,0n),+0s,2299161j)>, "敬老の日"],
98
+ [#<Date: 2021-09-23 ((2459481j,0s,0n),+0s,2299161j)>, "秋分の日"],
99
+ [#<Date: 2021-11-03 ((2459522j,0s,0n),+0s,2299161j)>, "文化の日"],
100
+ [#<Date: 2021-11-23 ((2459542j,0s,0n),+0s,2299161j)>, "勤労感謝の日"]]
104
101
  ```
105
102
 
103
+
106
104
  * `hash_year(year)` ― ある年について、 {日付=>祝日名} のHashを返す
107
105
 
108
106
  ```ruby
109
- HolidayJapan.hash_year(2019)
110
- => {#<Date: 2019-01-01 ((2458485j,0s,0n),+0s,2299161j)>=>"元日",
111
- #<Date: 2019-01-14 ((2458498j,0s,0n),+0s,2299161j)>=>"成人の日",
112
- #<Date: 2019-02-11 ((2458526j,0s,0n),+0s,2299161j)>=>"建国記念の日",
113
- #<Date: 2019-03-21 ((2458564j,0s,0n),+0s,2299161j)>=>"春分の日",
114
- #<Date: 2019-04-29 ((2458603j,0s,0n),+0s,2299161j)>=>"昭和の日",
115
- #<Date: 2019-04-30 ((2458604j,0s,0n),+0s,2299161j)>=>"国民の休日",
116
- #<Date: 2019-05-01 ((2458605j,0s,0n),+0s,2299161j)>=>"即位の日(名称未定)",
117
- #<Date: 2019-05-02 ((2458606j,0s,0n),+0s,2299161j)>=>"国民の休日",
118
- #<Date: 2019-05-03 ((2458607j,0s,0n),+0s,2299161j)>=>"憲法記念日",
119
- #<Date: 2019-05-04 ((2458608j,0s,0n),+0s,2299161j)>=>"みどりの日",
120
- #<Date: 2019-05-05 ((2458609j,0s,0n),+0s,2299161j)>=>"こどもの日",
121
- #<Date: 2019-05-06 ((2458610j,0s,0n),+0s,2299161j)>=>"振替休日",
122
- #<Date: 2019-07-15 ((2458680j,0s,0n),+0s,2299161j)>=>"海の日",
123
- #<Date: 2019-08-11 ((2458707j,0s,0n),+0s,2299161j)>=>"山の日",
124
- #<Date: 2019-08-12 ((2458708j,0s,0n),+0s,2299161j)>=>"振替休日",
125
- #<Date: 2019-09-16 ((2458743j,0s,0n),+0s,2299161j)>=>"敬老の日",
126
- #<Date: 2019-09-23 ((2458750j,0s,0n),+0s,2299161j)>=>"秋分の日",
127
- #<Date: 2019-10-14 ((2458771j,0s,0n),+0s,2299161j)>=>"体育の日",
128
- #<Date: 2019-10-22 ((2458779j,0s,0n),+0s,2299161j)>=>"即位礼正殿の儀",
129
- #<Date: 2019-11-03 ((2458791j,0s,0n),+0s,2299161j)>=>"文化の日",
130
- #<Date: 2019-11-04 ((2458792j,0s,0n),+0s,2299161j)>=>"振替休日",
131
- #<Date: 2019-11-23 ((2458811j,0s,0n),+0s,2299161j)>=>"勤労感謝の日"}
107
+ HolidayJapan.hash_year(2021)
108
+ => {#<Date: 2021-01-01 ((2459216j,0s,0n),+0s,2299161j)>=>"元日",
109
+ #<Date: 2021-01-11 ((2459226j,0s,0n),+0s,2299161j)>=>"成人の日",
110
+ #<Date: 2021-02-11 ((2459257j,0s,0n),+0s,2299161j)>=>"建国記念の日",
111
+ #<Date: 2021-02-23 ((2459269j,0s,0n),+0s,2299161j)>=>"天皇誕生日",
112
+ #<Date: 2021-03-20 ((2459294j,0s,0n),+0s,2299161j)>=>"春分の日",
113
+ #<Date: 2021-04-29 ((2459334j,0s,0n),+0s,2299161j)>=>"昭和の日",
114
+ #<Date: 2021-05-03 ((2459338j,0s,0n),+0s,2299161j)>=>"憲法記念日",
115
+ #<Date: 2021-05-04 ((2459339j,0s,0n),+0s,2299161j)>=>"みどりの日",
116
+ #<Date: 2021-05-05 ((2459340j,0s,0n),+0s,2299161j)>=>"こどもの日",
117
+ #<Date: 2021-07-22 ((2459418j,0s,0n),+0s,2299161j)>=>"海の日",
118
+ #<Date: 2021-07-23 ((2459419j,0s,0n),+0s,2299161j)>=>"スポーツの日",
119
+ #<Date: 2021-08-08 ((2459435j,0s,0n),+0s,2299161j)>=>"山の日",
120
+ #<Date: 2021-08-09 ((2459436j,0s,0n),+0s,2299161j)>=>"振替休日",
121
+ #<Date: 2021-09-20 ((2459478j,0s,0n),+0s,2299161j)>=>"敬老の日",
122
+ #<Date: 2021-09-23 ((2459481j,0s,0n),+0s,2299161j)>=>"秋分の日",
123
+ #<Date: 2021-11-03 ((2459522j,0s,0n),+0s,2299161j)>=>"文化の日",
124
+ #<Date: 2021-11-23 ((2459542j,0s,0n),+0s,2299161j)>=>"勤労感謝の日"}
132
125
  ```
133
126
 
127
+
134
128
  * `between(from_date,to_date)` ― from_date から to_date までの祝日について、{日付=>祝日名}のHashを返す
135
129
 
136
130
  ```ruby
137
- HolidayJapan.between("2019-4-1","2020-3-31")
138
- => {#<Date: 2019-04-29 ((2458603j,0s,0n),+0s,2299161j)>=>"昭和の日",
139
- #<Date: 2019-04-30 ((2458604j,0s,0n),+0s,2299161j)>=>"国民の休日",
140
- #<Date: 2019-05-01 ((2458605j,0s,0n),+0s,2299161j)>=>"即位の日(名称未定)",
141
- #<Date: 2019-05-02 ((2458606j,0s,0n),+0s,2299161j)>=>"国民の休日",
142
- #<Date: 2019-05-03 ((2458607j,0s,0n),+0s,2299161j)>=>"憲法記念日",
143
- #<Date: 2019-05-04 ((2458608j,0s,0n),+0s,2299161j)>=>"みどりの日",
144
- #<Date: 2019-05-05 ((2458609j,0s,0n),+0s,2299161j)>=>"こどもの日",
145
- #<Date: 2019-05-06 ((2458610j,0s,0n),+0s,2299161j)>=>"振替休日",
146
- #<Date: 2019-07-15 ((2458680j,0s,0n),+0s,2299161j)>=>"海の日",
147
- #<Date: 2019-08-11 ((2458707j,0s,0n),+0s,2299161j)>=>"山の日",
148
- #<Date: 2019-08-12 ((2458708j,0s,0n),+0s,2299161j)>=>"振替休日",
149
- #<Date: 2019-09-16 ((2458743j,0s,0n),+0s,2299161j)>=>"敬老の日",
150
- #<Date: 2019-09-23 ((2458750j,0s,0n),+0s,2299161j)>=>"秋分の日",
151
- #<Date: 2019-10-14 ((2458771j,0s,0n),+0s,2299161j)>=>"体育の日",
152
- #<Date: 2019-10-22 ((2458779j,0s,0n),+0s,2299161j)>=>"即位礼正殿の儀",
153
- #<Date: 2019-11-03 ((2458791j,0s,0n),+0s,2299161j)>=>"文化の日",
154
- #<Date: 2019-11-04 ((2458792j,0s,0n),+0s,2299161j)>=>"振替休日",
155
- #<Date: 2019-11-23 ((2458811j,0s,0n),+0s,2299161j)>=>"勤労感謝の日",
156
- #<Date: 2020-01-01 ((2458850j,0s,0n),+0s,2299161j)>=>"元日",
157
- #<Date: 2020-01-13 ((2458862j,0s,0n),+0s,2299161j)>=>"成人の日",
158
- #<Date: 2020-02-11 ((2458891j,0s,0n),+0s,2299161j)>=>"建国記念の日",
159
- #<Date: 2020-02-23 ((2458903j,0s,0n),+0s,2299161j)>=>"天皇誕生日",
160
- #<Date: 2020-02-24 ((2458904j,0s,0n),+0s,2299161j)>=>"振替休日",
161
- #<Date: 2020-03-20 ((2458929j,0s,0n),+0s,2299161j)>=>"春分の日"}
131
+ HolidayJapan.between("2021-4-1","2022-3-31")
132
+ => {#<Date: 2021-04-29 ((2459334j,0s,0n),+0s,2299161j)>=>"昭和の日",
133
+ #<Date: 2021-05-03 ((2459338j,0s,0n),+0s,2299161j)>=>"憲法記念日",
134
+ #<Date: 2021-05-04 ((2459339j,0s,0n),+0s,2299161j)>=>"みどりの日",
135
+ #<Date: 2021-05-05 ((2459340j,0s,0n),+0s,2299161j)>=>"こどもの日",
136
+ #<Date: 2021-07-22 ((2459418j,0s,0n),+0s,2299161j)>=>"海の日",
137
+ #<Date: 2021-07-23 ((2459419j,0s,0n),+0s,2299161j)>=>"スポーツの日",
138
+ #<Date: 2021-08-08 ((2459435j,0s,0n),+0s,2299161j)>=>"山の日",
139
+ #<Date: 2021-08-09 ((2459436j,0s,0n),+0s,2299161j)>=>"振替休日",
140
+ #<Date: 2021-09-20 ((2459478j,0s,0n),+0s,2299161j)>=>"敬老の日",
141
+ #<Date: 2021-09-23 ((2459481j,0s,0n),+0s,2299161j)>=>"秋分の日",
142
+ #<Date: 2021-11-03 ((2459522j,0s,0n),+0s,2299161j)>=>"文化の日",
143
+ #<Date: 2021-11-23 ((2459542j,0s,0n),+0s,2299161j)>=>"勤労感謝の日",
144
+ #<Date: 2022-01-01 ((2459581j,0s,0n),+0s,2299161j)>=>"元日",
145
+ #<Date: 2022-01-10 ((2459590j,0s,0n),+0s,2299161j)>=>"成人の日",
146
+ #<Date: 2022-02-11 ((2459622j,0s,0n),+0s,2299161j)>=>"建国記念の日",
147
+ #<Date: 2022-02-23 ((2459634j,0s,0n),+0s,2299161j)>=>"天皇誕生日",
148
+ #<Date: 2022-03-21 ((2459660j,0s,0n),+0s,2299161j)>=>"春分の日"}
162
149
  ```
163
150
 
151
+
164
152
  ### 祝日データをCSVに出力
165
153
 
166
154
  ```
167
- $ ruby -r csv -r holiday_japan -e 'CSV.open("holiday.csv","w"){|c| HolidayJapan.between(2018,2020).each{|a| c<<a}}'
155
+ $ ruby -r csv -r holiday_japan -e 'CSV.open("holiday.csv","w"){|c| HolidayJapan.between(2020,2021).each{|a| c<<a}}'
156
+
168
157
  $ head -n3 holiday.csv ; echo ...; tail -n3 holiday.csv
169
- 2018-01-01,元日
170
- 2018-01-08,成人の日
171
- 2018-02-11,建国記念の日
158
+ 2020-01-01,元日
159
+ 2020-01-13,成人の日
160
+ 2020-02-11,建国記念の日
172
161
  ...
173
- 2020-09-22,秋分の日
174
- 2020-11-03,文化の日
175
- 2020-11-23,勤労感謝の日
162
+ 2021-09-23,秋分の日
163
+ 2021-11-03,文化の日
164
+ 2021-11-23,勤労感謝の日
165
+
176
166
  ```
177
167
 
178
168
  ## 祝日データ
179
169
 
180
170
  * 1948年7月20日(祝日法発令) 以降の祝日に対応
181
- * 2020年の[暦要項](http://eco.mtk.nao.ac.jp/koyomi/yoko/)まで確認(法改正がない限り以降も有効)
171
+ * 2021年の[暦要項](http://eco.mtk.nao.ac.jp/koyomi/yoko/)まで確認(法改正がない限り以降も有効)
182
172
  * 春分の日・秋分の日の計算は2150年まで
183
173
 
184
174
  ## Author:
185
175
  Masahiro TANAKA
186
176
 
187
177
  ## Copyright:
188
- (C) Copyright 2003-2018 by Masahiro TANAKA
178
+ (C) Copyright 2003-2020 by Masahiro TANAKA
189
179
  This program is free software under MIT license.
190
180
  See LICENSE.txt.
191
181
  NO WARRANTY.
@@ -36,6 +36,9 @@ end
36
36
  * 祝日名を返すことが可能
37
37
  * 祝日のルールをテーブルで持つことにより、法改正による祝日変更への対応が容易
38
38
 
39
+ ([holiday_jp](https://rubygems.org/gems/holiday_jp) と比較して)
40
+ * holiday_jp は日付をキーとする祝日データセットに基く。holiday_japan は祝日ルールに基き、照会された年ごとにデータセットを生成する。
41
+
39
42
  ## インストール
40
43
 
41
44
  * RubyGems によるインストール
@@ -58,48 +61,48 @@ end
58
61
 
59
62
  * `check(date)` ― Dateクラスのオブジェクトによる祝日判定
60
63
 
61
- <%= x('HolidayJapan.check(Date.new(2019,3,21))') %>
64
+ <%= x('HolidayJapan.check(Date.new(2021,3,20))') %>
62
65
 
63
66
  * `name(date)` ― 日付が祝日の場合は祝日名を返し、祝日でなければ nil を返す。
64
67
 
65
- <%= x('HolidayJapan.name(Date.new(2019,3,21))') %>
68
+ <%= x('HolidayJapan.name(Date.new(2021,3,20))') %>
66
69
 
67
70
  * `print_year(year)` ― ある年の祝日一覧をプリント
68
71
 
69
72
  ```
70
- <%= c("ruby -r holiday_japan -e 'HolidayJapan.print_year 2019'") %>
73
+ <%= c("ruby -r holiday_japan -e 'HolidayJapan.print_year 2021'") %>
71
74
  ```
72
75
 
73
76
  * `list_year(year)` ― ある年について、 [日付, 祝日名] のArrayを返す
74
77
 
75
- <%= x('HolidayJapan.list_year(2019)') %>
78
+ <%= x('HolidayJapan.list_year(2021)') %>
76
79
 
77
80
  * `hash_year(year)` ― ある年について、 {日付=>祝日名} のHashを返す
78
81
 
79
- <%= x('HolidayJapan.hash_year(2019)') %>
82
+ <%= x('HolidayJapan.hash_year(2021)') %>
80
83
 
81
84
  * `between(from_date,to_date)` ― from_date から to_date までの祝日について、{日付=>祝日名}のHashを返す
82
85
 
83
- <%= x('HolidayJapan.between("2019-4-1","2020-3-31")') %>
86
+ <%= x('HolidayJapan.between("2021-4-1","2022-3-31")') %>
84
87
 
85
88
  ### 祝日データをCSVに出力
86
89
 
87
90
  ```
88
- <%= c(%!ruby -r csv -r holiday_japan -e 'CSV.open("holiday.csv","w"){|c| HolidayJapan.between(2018,2020).each{|a| c<<a}}'!) %>
91
+ <%= c(%!ruby -r csv -r holiday_japan -e 'CSV.open("holiday.csv","w"){|c| HolidayJapan.between(2020,2021).each{|a| c<<a}}'!) %>
89
92
  <%= c("head -n3 holiday.csv ; echo ...; tail -n3 holiday.csv") %>
90
93
  ```
91
94
 
92
95
  ## 祝日データ
93
96
 
94
97
  * 1948年7月20日(祝日法発令) 以降の祝日に対応
95
- * 2020年の[暦要項](http://eco.mtk.nao.ac.jp/koyomi/yoko/)まで確認(法改正がない限り以降も有効)
98
+ * 2021年の[暦要項](http://eco.mtk.nao.ac.jp/koyomi/yoko/)まで確認(法改正がない限り以降も有効)
96
99
  * 春分の日・秋分の日の計算は2150年まで
97
100
 
98
101
  ## Author:
99
102
  Masahiro TANAKA
100
103
 
101
104
  ## Copyright:
102
- (C) Copyright 2003-2018 by Masahiro TANAKA
105
+ (C) Copyright 2003-2020 by Masahiro TANAKA
103
106
  This program is free software under MIT license.
104
107
  See LICENSE.txt.
105
108
  NO WARRANTY.
@@ -6,7 +6,7 @@ require "date"
6
6
 
7
7
  module HolidayJapan
8
8
 
9
- VERSION = "1.4.3"
9
+ VERSION = "1.4.4"
10
10
 
11
11
  WEEK1 = 1
12
12
  WEEK2 = 8
@@ -27,16 +27,19 @@ module HolidayJapan
27
27
  [1989..2006, 4, 29 ]],
28
28
  ["こどもの日", [1949..INF , 5, 5 ]],
29
29
  ["海の日", [2020, 7, 23 ],
30
+ [2021, 7, 22 ],
30
31
  [2003..INF, 7, [WEEK3,MON]],
31
32
  [1996..2002, 7, 20 ]],
32
33
  ["山の日", [2020, 8, 10 ],
34
+ [2021 , 8, 8 ],
33
35
  [2016..INF , 8, 11 ]],
34
36
  ["敬老の日", [2003..INF , 9, [WEEK3,MON]],
35
37
  [1966..2002, 9, 15 ]],
36
38
  ["体育の日", [2000..2019, 10, [WEEK2,MON]],
37
39
  [1966..1999, 10, 10 ]],
38
40
  ["スポーツの日",[2020, 7, 24 ],
39
- [2021..INF , 10, [WEEK2,MON]]],
41
+ [2021, 7, 23 ],
42
+ [2022..INF , 10, [WEEK2,MON]]],
40
43
  ["文化の日", [1948..INF , 11, 3 ]],
41
44
  ["勤労感謝の日",[1948..INF , 11, 23 ]],
42
45
  ["天皇誕生日", [2020..INF , 2, 23 ],
@@ -963,7 +963,7 @@
963
963
  2019-03-21,春分の日
964
964
  2019-04-29,昭和の日
965
965
  2019-04-30,国民の休日
966
- 2019-05-01,即位の日(名称未定)
966
+ 2019-05-01,天皇の即位の日
967
967
  2019-05-02,国民の休日
968
968
  2019-05-03,憲法記念日
969
969
  2019-05-04,みどりの日
@@ -997,3 +997,20 @@
997
997
  2020-09-22,秋分の日
998
998
  2020-11-03,文化の日
999
999
  2020-11-23,勤労感謝の日
1000
+ 2021-01-01,元日
1001
+ 2021-01-11,成人の日
1002
+ 2021-02-11,建国記念の日
1003
+ 2021-02-23,天皇誕生日
1004
+ 2021-03-20,春分の日
1005
+ 2021-04-29,昭和の日
1006
+ 2021-05-03,憲法記念日
1007
+ 2021-05-04,みどりの日
1008
+ 2021-05-05,こどもの日
1009
+ 2021-07-22,海の日
1010
+ 2021-07-23,スポーツの日
1011
+ 2021-08-08,山の日
1012
+ 2021-08-09,振替休日
1013
+ 2021-09-20,敬老の日
1014
+ 2021-09-23,秋分の日
1015
+ 2021-11-03,文化の日
1016
+ 2021-11-23,勤労感謝の日
@@ -2,9 +2,6 @@ require "test/unit"
2
2
  require "holiday_japan"
3
3
  require "csv"
4
4
 
5
- $first_year = 1948
6
- $last_year = 2020
7
- $range = $first_year..$last_year
8
5
  $csv_file = File.join(__dir__,"holiday.csv")
9
6
 
10
7
  # write CSV data and exit
@@ -18,16 +15,16 @@ $csv = CSV.open(File.join(__dir__,"holiday.csv"),"r")
18
15
  $hash = {}
19
16
  $list = []
20
17
 
21
- $range.each do |y|
22
- $hash[y] = {}
23
- end
24
-
25
18
  $csv.each do |str,name|
26
19
  date = Date.parse(str)
20
+ $hash[date.year] ||= {}
27
21
  $hash[date.year][date] = name
28
22
  $list << [date,name]
29
23
  end
30
24
 
25
+ y = $hash.keys
26
+ $range = y.min..y.max
27
+
31
28
  class HolidayJapanTest < Test::Unit::TestCase
32
29
 
33
30
  test "name" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: holiday_japan
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3
4
+ version: 1.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masahiro TANAKA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-01 00:00:00.000000000 Z
11
+ date: 2020-11-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Calculate National Holidays of Japan after 1948
14
14
  email:
@@ -46,7 +46,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  requirements: []
49
- rubygems_version: 3.0.1
49
+ rubygems_version: 3.1.2
50
50
  signing_key:
51
51
  specification_version: 4
52
52
  summary: Calculate National Holidays of Japan