holiday_japan 1.4.3 → 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +96 -106
- data/README.md.erb +12 -9
- data/lib/holiday_japan.rb +5 -2
- data/test/holiday.csv +18 -1
- data/test/holiday_japan_test.rb +4 -7
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fa83de54f75e47487ab3a1ade42e1975626626277bfacd7216d6ef49e33a29b1
|
|
4
|
+
data.tar.gz: 33dc6e82aeaaa225235235b5a9c1088316f2edd223fa46f8d1a16ac872fd7a1f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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(
|
|
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(
|
|
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
|
|
53
|
-
listing year
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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(
|
|
82
|
-
=> [[#<Date:
|
|
83
|
-
[#<Date:
|
|
84
|
-
[#<Date:
|
|
85
|
-
[#<Date:
|
|
86
|
-
[#<Date:
|
|
87
|
-
[#<Date:
|
|
88
|
-
[#<Date:
|
|
89
|
-
[#<Date:
|
|
90
|
-
[#<Date:
|
|
91
|
-
[#<Date:
|
|
92
|
-
[#<Date:
|
|
93
|
-
[#<Date:
|
|
94
|
-
[#<Date:
|
|
95
|
-
[#<Date:
|
|
96
|
-
[#<Date:
|
|
97
|
-
[#<Date:
|
|
98
|
-
[#<Date:
|
|
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(
|
|
110
|
-
=> {#<Date:
|
|
111
|
-
#<Date:
|
|
112
|
-
#<Date:
|
|
113
|
-
#<Date:
|
|
114
|
-
#<Date:
|
|
115
|
-
#<Date:
|
|
116
|
-
#<Date:
|
|
117
|
-
#<Date:
|
|
118
|
-
#<Date:
|
|
119
|
-
#<Date:
|
|
120
|
-
#<Date:
|
|
121
|
-
#<Date:
|
|
122
|
-
#<Date:
|
|
123
|
-
#<Date:
|
|
124
|
-
#<Date:
|
|
125
|
-
#<Date:
|
|
126
|
-
#<Date:
|
|
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("
|
|
138
|
-
=> {#<Date:
|
|
139
|
-
#<Date:
|
|
140
|
-
#<Date:
|
|
141
|
-
#<Date:
|
|
142
|
-
#<Date:
|
|
143
|
-
#<Date:
|
|
144
|
-
#<Date:
|
|
145
|
-
#<Date:
|
|
146
|
-
#<Date:
|
|
147
|
-
#<Date:
|
|
148
|
-
#<Date:
|
|
149
|
-
#<Date:
|
|
150
|
-
#<Date:
|
|
151
|
-
#<Date:
|
|
152
|
-
#<Date:
|
|
153
|
-
#<Date:
|
|
154
|
-
#<Date:
|
|
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(
|
|
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
|
-
|
|
170
|
-
|
|
171
|
-
|
|
158
|
+
2020-01-01,元日
|
|
159
|
+
2020-01-13,成人の日
|
|
160
|
+
2020-02-11,建国記念の日
|
|
172
161
|
...
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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
|
-
*
|
|
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-
|
|
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.
|
data/README.md.erb
CHANGED
|
@@ -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(
|
|
64
|
+
<%= x('HolidayJapan.check(Date.new(2021,3,20))') %>
|
|
62
65
|
|
|
63
66
|
* `name(date)` ― 日付が祝日の場合は祝日名を返し、祝日でなければ nil を返す。
|
|
64
67
|
|
|
65
|
-
<%= x('HolidayJapan.name(Date.new(
|
|
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
|
|
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(
|
|
78
|
+
<%= x('HolidayJapan.list_year(2021)') %>
|
|
76
79
|
|
|
77
80
|
* `hash_year(year)` ― ある年について、 {日付=>祝日名} のHashを返す
|
|
78
81
|
|
|
79
|
-
<%= x('HolidayJapan.hash_year(
|
|
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("
|
|
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(
|
|
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
|
-
*
|
|
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-
|
|
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.
|
data/lib/holiday_japan.rb
CHANGED
|
@@ -6,7 +6,7 @@ require "date"
|
|
|
6
6
|
|
|
7
7
|
module HolidayJapan
|
|
8
8
|
|
|
9
|
-
VERSION = "1.4.
|
|
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
|
|
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 ],
|
data/test/holiday.csv
CHANGED
|
@@ -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,勤労感謝の日
|
data/test/holiday_japan_test.rb
CHANGED
|
@@ -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.
|
|
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:
|
|
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.
|
|
49
|
+
rubygems_version: 3.1.2
|
|
50
50
|
signing_key:
|
|
51
51
|
specification_version: 4
|
|
52
52
|
summary: Calculate National Holidays of Japan
|