Module: EraJa::Conversion
Constant Summary collapse
- ERA =
[["M", "明治"], ["T", "大正"], ["S", "昭和"], ["H", "平成"]]
Instance Method Summary collapse
-
#to_era(format = "%o%E.%m.%d") ⇒ String
Convert to Japanese era.
Instance Method Details
#to_era(format = "%o%E.%m.%d") ⇒ String
Convert to Japanese era.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/era_ja/conversion.rb', line 17 def to_era(format = "%o%E.%m.%d") @era_format = format @era_format.gsub!(/%J/, "%J%") @era_format.sub!(/%o/i) { |m| m + ' ' } @era_format.sub!(/%E/) { |m| m + ' ' } 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, 'M') elsif self.to_time < ::Time.mktime(1926,12,25) str_time = era_year(year - 1911, 'T') elsif self.to_time < ::Time.mktime(1989,1,8) str_time = era_year(year - 1925, 'S') else str_time = era_year(year - 1988, 'H') end end str_time.gsub(/%J(\d+)/) { to_kanzi($1) } end |