japanese_holidays.rb

海外から「compactcalendar2008」で検索があった。sorry, it's japanese only.

Ruby-Excel ブーム到来(俺の中だけで)
RubyExcel プログラミングするの結構楽しい。思ってたより細かいことできる。OLE 最高! Excel 大好き! 敬遠してる人多そうだけど一回触ってみたらいいと思う。

で、これは Excel 関係ないんだけど、compactcalendar.rb の中で使ってた祝日判定部分のコードを切り出してモジュールにした。そんなもんどっかに普通にありそうだなーとか思ったけど祝日名まで取得できるようなものが意外となさそうだったので公開します。まあ所詮は単なる祝日テーブルなのでたいしたことは何一つしてません。前回も書いたけど、ベースになってるのは山本篤さんという方が書いたもので今はもうそのファイルにはアクセスできなくなっているみたいなのだけど、なぜか私の手元にあるので遠慮なくパクりました。ちょっとデータが古かったのでいくつか休日の変更とか振替休日制度の新しいのに対応したりとかしてる。

http://dishhh.jp/wk/japanese_holidays/japanese_holidays.rb2008-01-08 更新)
http://dishhh.jp/wk/calendar_japanese_holiday/

ファイルの文字コードSJIS です。ていうかこういうの普通どうすんだろ。

使い方

Time、Date、DateTime クラスなどに mix-in して使います。

require 'japanese_holidays'
require 'date'

class Date
  include JapaneseHolidays
end

もしくは、

date = Date.today.extend JapaneseHolidays

以下のメソッドが使えるようになります。

# 休日かどうかを返す
date.holiday?

# 祝日の名前を返す
date.holiday

# 土日かどうかを返す
date.weekend?

# 祝日かどうかを返す
date.national_holiday?

# 振替休日かどうかを返す
date.substitute_holiday?

「holiday?」は「weekend? or national_holiday? or substitute_holiday?」と同等です。土日は休みってことにしちゃってる。一応、year、month、day、wday があるクラスなら何にでも組み込めます。date4*1 とか使いたい人も大丈夫。