109 lines
2.8 KiB
Ruby
109 lines
2.8 KiB
Ruby
|
module AttributeValuesHelper
|
||
|
def show_west_calender(from_to=nil)
|
||
|
case from_to
|
||
|
when :to
|
||
|
date = get_date(:to)
|
||
|
when :from
|
||
|
date = get_date(:from)
|
||
|
when nil
|
||
|
date = get_date
|
||
|
end
|
||
|
|
||
|
# case self.attribute_field["typeC"]["format"]
|
||
|
# when 'format1' # Y/M/D h:m
|
||
|
# date.strftime("%Y/%m/%d %H:%M")
|
||
|
# when 'format2' # Y/M/D
|
||
|
# date.strftime("%Y/%m/%d")
|
||
|
# when 'format3' # Y/M
|
||
|
# date.strftime("%Y/%m")
|
||
|
# when 'format4' # Y
|
||
|
# date.strftime("%Y")
|
||
|
# end # of case west cal format
|
||
|
end
|
||
|
|
||
|
def show_minguo_calendar(from_to=nil)
|
||
|
get_minguo
|
||
|
|
||
|
case from_to
|
||
|
when :to
|
||
|
date = get_date(:to)
|
||
|
when :from
|
||
|
date = get_date(:from)
|
||
|
when nil
|
||
|
date = get_date
|
||
|
end
|
||
|
|
||
|
@date = date.split('/')
|
||
|
date_year = @date[0].to_i
|
||
|
|
||
|
year_str = ""
|
||
|
unless date_year == 1912
|
||
|
m_year = (date_year - 1912).abs.to_s + I18n.t("date.minguo_calendar.year")
|
||
|
year_str = minguo_format_year(m_year)
|
||
|
end
|
||
|
get_minguo_year(from_to) + minguo_m_y_d_time(from_to)
|
||
|
end
|
||
|
|
||
|
def get_minguo_year(from_to=nil)
|
||
|
case from_to
|
||
|
when :to
|
||
|
date = get_date(:to)
|
||
|
when :from
|
||
|
date = get_date(:from)
|
||
|
when nil
|
||
|
date = get_date
|
||
|
end
|
||
|
|
||
|
@date = date.split('/')
|
||
|
date_year = @date[0].to_i
|
||
|
|
||
|
m_year = (date_year - 1911).abs
|
||
|
year_end = I18n.t("date.minguo_calendar.year")
|
||
|
case
|
||
|
when date_year <1912
|
||
|
I18n.t("date.minguo_calendar.before") + (m_year+1).to_s + year_end
|
||
|
when date_year ==1912
|
||
|
I18n.t("date.minguo_calendar.first_year")
|
||
|
when date_year >1912
|
||
|
I18n.t("date.minguo_calendar.after")+ (m_year).to_s + year_end
|
||
|
end # of case tw_calendar year
|
||
|
end
|
||
|
|
||
|
def minguo_m_y_d_time(from_to=nil)
|
||
|
case from_to
|
||
|
when :to
|
||
|
date = get_date(:to)
|
||
|
when :from
|
||
|
date = get_date(:from)
|
||
|
when nil
|
||
|
date = get_date
|
||
|
end
|
||
|
@date = date.split('/')
|
||
|
|
||
|
case self.attribute_field["typeC"]["format"]
|
||
|
when 'format1' # Y/M/D h:m
|
||
|
"/#{@date[1]}/#{@date[2]}"
|
||
|
when 'format2' # Y/M/D
|
||
|
"/#{@date[1]}/#{@date[2]}"
|
||
|
when 'format3' # Y/M
|
||
|
|
||
|
"/#{@date[1]}#{I18n.t("date.minguo_calendar.month")}"\
|
||
|
when 'format4' # Y
|
||
|
''
|
||
|
end # of case
|
||
|
end
|
||
|
|
||
|
def get_date_by_format(from_to = nil)
|
||
|
case I18n.locale
|
||
|
when :zh_tw
|
||
|
case
|
||
|
when self.attribute_field["typeC"]["calendar"] == "west_calendar"
|
||
|
show_west_calender(from_to)
|
||
|
when self.attribute_field["typeC"]["calendar"] == "tw_calendar"
|
||
|
show_minguo_calendar(from_to)
|
||
|
end #case self.attribute_field["typeC"]["calendar"]
|
||
|
when :en
|
||
|
show_west_calender(from_to)
|
||
|
end
|
||
|
end
|
||
|
end
|