Module: EraJa::Conversion
Constant Summary collapse
- ERA_NAME_DEFAULTS =
{ meiji: ["M", "明治"], taisho: ["T", "大正"], showa: ["S", "昭和"], heisei: ["H", "平成"] }
Instance Method Summary collapse
-
#to_era(format = "%o%E.%m.%d", era_names: ERA_NAME_DEFAULTS) ⇒ String
Convert to Japanese era.
Instance Method Details
#to_era(format = "%o%E.%m.%d", era_names: ERA_NAME_DEFAULTS) ⇒ String
Convert to Japanese era.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/era_ja/conversion.rb', line 27 def to_era(format = "%o%E.%m.%d", era_names: ERA_NAME_DEFAULTS) @era_format = format.gsub(/%J/, "%J%") str_time = strftime(@era_format) if @era_format =~ /%E/ if self.to_time < ::Time.mktime(1868,9,8) raise "#to_era is expeted later in 1868,9,8" elsif self.to_time < ::Time.mktime(1912,7,30) str_time = era_year(year - 1867, :meiji, era_names) elsif self.to_time < ::Time.mktime(1926,12,25) str_time = era_year(year - 1911, :taisho, era_names) elsif self.to_time < ::Time.mktime(1989,1,8) str_time = era_year(year - 1925, :showa, era_names) else str_time = era_year(year - 1988, :heisei, era_names) end end str_time.gsub(/%J(\d+)/) { to_kanzi($1) } end |