Skip to content

Latest commit

 

History

History
135 lines (90 loc) · 4.86 KB

README.ja.md

File metadata and controls

135 lines (90 loc) · 4.86 KB

EraJa Build Status

日本の和暦に変換します。

Installation

以下のコードをアプリケーションのGemfileに追記します。

gem 'era_ja'

そして、以下をのコマンドを実行します。

$ bundle

もしくは

$ gem install era_ja

ruby version

.travis.yml を確認してください。

NOTE :: era_ja0.4.0からruby1.9.3をサポートしていません。

Usage

フォーマット文字列

引数としてstrftimeのフォーマット文字列を使用出来ます。

EraJa#to_eraメソッドでの追加のフォーマット文字列は以下の通りです。

  • %o: 元号(アルファベット)
  • %O: 元号(漢字)
  • %1O: 元号(漢字1文字)
  • %E: 元号の年
  • %-E: 元号の年(1から9まで1ケタ)
  • %K: 元号の年(漢数字) 2年目以降は数字
  • %J: 漢数字

Timeインスタンスを和暦に変換します。

require 'era_ja'
Time.mktime(2012,4,29).to_era   # => "H24.04.29"
Time.mktime(2012,4,29).to_era("%O%E年%-m月%d日") # => "平成24年4月29日"
Time.mktime(2012,4,29).to_era("%O%JE年%Jm月%Jd日") # => "平成二十四年四月二十九日"

Dateインタンスを和暦に変換します。

require 'era_ja
Date.new(2012,4,29).to_era     # => "H24.04.29"
Date.new(2012,4,29).to_era("%O%E年%-m月%d日") # => "平成24年4月29日"
Date.new(2012,4,29).to_era("%O%JE年%Jm月%Jd日") # => "平成二十四年四月二十九日"

数字を漢数字に変換します。

Time.mktime(2012,4,29).to_era("%JY年%Jm月%Jd日") # => "二千十二年四月二十九日"
Date.new(2012,4,29).to_era("%JY年%Jm月%Jd日")    # => "二千十二年四月二十九日"

もし1年目の場合は 2年目以降を数字にしたい場合は %K を使用することができます。

Time.mktime(2019,5,1).to_era("%O%KE年%m月%d日") # => "令和元年05月01日"
Time.mktime(2020,5,1).to_era("%O%KE年%m月%d日") # => "令和02年05月01日"
Date.new(2019,5,1).to_era("%O%KE年%m月%d日") # => "令和元年05月01日"
Date.new(2020,5,1).to_era("%O%KE年%m月%d日") # => "令和02年05月01日"

Era names

もし1桁の元号文字列でコンバートしたい場合、 %1O を使用することができます。

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

もしデフォルトの元号文字列以外の文字列でコンバートしたい場合、 era_names を使用することができます。

require 'era_ja'
Time.mktime(2012,4,29).to_era(era_names: { heisei: ['h', '平'] })                       # => "h24.04.29"
Time.mktime(2012,4,29).to_era("%O%E年%-m月%d日", era_names: { heisei: ['h', '平'] })     # => "平24年4月29日"
Time.mktime(2012,4,29).to_era("%O%JE年%Jm月%Jd日", era_names: { heisei: ['h', '平'] })   # => "平二十四年四月二十九日"
# same as Date

元号に変換できるかどうかの判定方法

日付が元号に変換できるかどうかを判定するために、era_convertible? を使うことができます。

require 'era_ja'
Time.mktime(1868,9,7).era_convertible? #=> false
Time.mktime(1868,9,8).era_convertible? #=> true

元号に変換できない日付に関しては、Noteセクション を参照してください。

Support

問題を報告したり、機能追加の要望する場合はgithubのIssuesに登録してください。 https://github.com/tomiacannondale/era_ja/issues

Contributing

  1. フォークして
  2. feature branchを作成して (git checkout -b my-new-feature)
  3. 変更をコミットして (git commit -am 'Added some feature')
  4. ブランチをプッシュして (git push origin my-new-feature)
  5. プルリクエストをください

Note

元号については以下の問題点があります。

Author

tomi [email protected]

License

MITライセンスです。詳細は LICENSE を参照してください。