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 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