JapaneseDateFormat 0.0.4

http://jadtfmt.rubyforge.org/
http://rubyforge.org/projects/jadtfmt/

これは何?

ICUを使ってTimeオブジェクトを和暦で出力します。昭和64年の判定とかがわりと正確です(たぶん)。OSによっては寛政とか寛永とか出力できるかもしれないです。
書式についてはこちらを参照。

しばらくしたらRubyForgeに移す予定。

ビルド/インストール


gem install jadtfmt

LinuxでのビルドにはICUの開発用パッケージが必要です。
Windowsではicuin38.dllとicuuc38.dllとicudt38.dllが必要です

サンプルコード

普通に使う
$KCODE = 'e'
require 'jadtfmt'

jadtfmt = JapaneseDateFormat.new('Gy年M月d日')

puts jadtfmt.format(Time.now)
puts jadtfmt.format(Time.mktime(1989, 1, 1))
puts jadtfmt.format_attrs(1800, 1, 1)

jadtfmt.apply_pattern("Gyy年 / MM月 / dd日");
puts jadtfmt.format(Time.mktime(1989, 2, 1))


平成20年4月17日
昭和64年1月1日
寛政12年1月1日
平成01年 / 02月 / 01日

Timeオブジェクトのメソッドとして呼び出す
$KCODE = 'e'
require 'jadtfmt'

puts Time.now.jadtfmt('Gy年M月d日')
puts Time.mktime(1989, 1, 1).jadtfmt('Gy年M月d日')


平成20年4月17日
昭和64年1月1日

jastrftimeメソッドを使う
$KCODE = 'e'
require 'jadtfmt'

puts Time.now.jastrftime('%G%n/%m/%d(%E)')
puts Time.mktime(1989, 1, 1).jastrftime('%G%N/%m/%d(%E)')


平成20/04/17(木)
昭和64/01/01(日)

  • %G - 年号
  • %N - 和暦の年(01〜)
  • %n - 和暦の年(1〜)
  • %E - 曜日

タスク