era_jaというgemを公開しました

半年ぶりの更新です。まぁ宣伝です。

era_jaというrubyのDateとTimeインスタンスを和暦に変換するgemを公開しました。
era_ja | RubyGems.org | your community gem host

今はこれだけの機能ですが、調子にのったら和暦 <=> 西暦 への交互変換が可能になったらうれしいなぁと思っています。

もともと仕事で書いているスクリプトで西暦から和暦に変換することをちょこちょことやっていました。
やることといえば西暦から平成への変換なので数字の引き算だけなのですが、いちいち平成の開始年をwikipediaで調べるのが面倒になって、ネットで調べてみたら、t-diaryのソースから和暦変換の機能だけをとりだして使用しているという方法が多かった。

今はbundlerで依存ライブラリの管理をしているので、可能であればそういう機能もgemで管理したい。
簡単そうだからいっそつくってしまおうと思って作成してみました。

実は元号の開始、終了年月日って昭和から平成以外はいいかげんというかコンピュータでの計算に適さないことになっています。
1926年年12月25日で大正は終っているんだけど、昭和の開始日は同じ日になっている。
要するに1926年12月25日は大正15年12月25日と変換しても昭和元年12月25日と変換しても正しい。
明治から大正も同様になっています。
era_jaでは1926年12月25日は大正15年12月25日としています。
これも調子にのったら引数で選択出来るようになったらいいのかなぁ。

最後に使用方法を(まぁREADMEそのまんまですが)

Timeでの使用

require 'era_ja/time'
Time.mktime(2012,4,29).to_era   # => "H24.4.29"
Time.mktime(2012,4,29).to_era("%O%E年%m月%d日") # => "平成24年4月29日"

Dateでの使用

require 'era_ja/date'
Date.new(2012,4,29).to_era     # => "H24.4.29"
Date.new(2012,4,29).to_era("%O%E年%m月%d日") # => "平成24年4月29日"

つかってケロ!