こんにちは。平山情報サービスです。
今日は、「2020.09.08 Rubyをインストールしてみた。」でインストールした「holiday_japan」というgemを修正します。
なんで修正するかというと、今年開催するはずのオリンピックが来年開催になったため、祝日がイレギュラーになっているからです。
具体的には海の日は7月22日に、スポーツの日は7月23日に、山の日は8月8日に移動しました。
内閣府公式サイト:https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html
ということで、holiday_japan.rbというファイルを開いて、DATAという配列を以下にします。
DATA = [
["元日", [1949..INF , 1, 1 ]],
["成人の日", [2000..INF , 1, [WEEK2,MON]],
[1949..1999, 1, 15 ]],
["建国記念の日",[1967..INF , 2, 11 ]],
["昭和の日", [2007..INF , 4, 29 ]],
["憲法記念日", [1949..INF , 5, 3 ]],
["みどりの日", [2007..INF , 5, 4 ],
[1989..2006, 4, 29 ]],
["こどもの日", [1949..INF , 5, 5 ]],
["海の日", [2021, 7, 22 ],
[2020, 7, 23 ],
[2003..INF, 7, [WEEK3,MON]],
[1996..2002, 7, 20 ]],
["山の日", [2021, 8, 8 ],
[2020, 8, 10 ],
[2016..INF , 8, 11 ]],
["敬老の日", [2003..INF , 9, [WEEK3,MON]],
[1966..2002, 9, 15 ]],
["体育の日", [2000..2019, 10, [WEEK2,MON]],
[1966..1999, 10, 10 ]],
["スポーツの日", [2022..INF , 10, [WEEK2,MON]],
[2021, 7, 23 ],
[2020, 7, 24 ]],
["文化の日", [1948..INF , 11, 3 ]],
["勤労感謝の日",[1948..INF , 11, 23 ]],
["天皇誕生日", [2020..INF , 2, 23 ],
[1989..2018, 12, 23 ],
[1949..1988, 4, 29 ]],
["春分の日",
[1980..2099, 3, proc{|y|(20.8431+0.242194*(y-1980)).to_i-((y-1980)/4.0).to_i} ],
[1949..1979, 3, proc{|y|(20.8357+0.242194*(y-1980)).to_i-((y-1983)/4.0).to_i} ],
[2100..2150, 3, proc{|y|(21.8510+0.242194*(y-1980)).to_i-((y-1980)/4.0).to_i} ],
],
["秋分の日" ,
[1980..2099, 9, proc{|y|(23.2488+0.242194*(y-1980)).to_i-((y-1980)/4.0).to_i} ],
[1948..1979, 9, proc{|y|(23.2588+0.242194*(y-1980)).to_i-((y-1983)/4.0).to_i} ],
[2100..2150, 9, proc{|y|(24.2488+0.242194*(y-1980)).to_i-((y-1980)/4.0).to_i} ],
],
["即位礼正殿の儀", [2019, 10, 22 ],
[1990, 11, 12 ]],
["天皇の即位の日", [2019, 5, 1 ]],
["皇太子徳仁親王の結婚の儀", [1993, 6, 9 ]],
["昭和天皇の大喪の礼", [1989, 2, 24 ]],
["皇太子明仁親王の結婚の儀", [1959, 4, 10 ]]
]
これをコピペして上書き保存すれば完了です(多分)。