83 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.3 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
 | |
|     year_str = ""
 | |
|       unless date.year == 1912
 | |
|         m_year = (date.year - 1912).abs.to_s + I18n.t("admin.infos.date.minguo_calendar.year")
 | |
|         year_str = minguo_format_year(m_year)
 | |
|       end
 | |
|       get_minguo_year + minguo_m_y_d_time
 | |
|   end
 | |
| 
 | |
|   def get_minguo_year
 | |
|     date = get_date
 | |
|     m_year = (date.year - 1911).abs
 | |
|     year_end = I18n.t("admin.infos.date.minguo_calendar.year")
 | |
|       case 
 | |
|         when date.year <1912
 | |
|           I18n.t("admin.infos.date.minguo_calendar.before") + (m_year+1).to_s + year_end
 | |
|         when  date.year ==1912
 | |
|           I18n.t("admin.infos.date.minguo_calendar.first_year") 
 | |
|         when date.year >1912
 | |
|           I18n.t("admin.infos.date.minguo_calendar.after")+ (m_year).to_s + year_end
 | |
|     end # of case tw_claendar year
 | |
|   end
 | |
| 
 | |
|   def minguo_m_y_d_time
 | |
|     date = get_date
 | |
|     case self.attribute_field["typeC"]["format"]
 | |
|         when 'format1' #  Y/M/D h:m
 | |
|           date.strftime(" %m/%d %H:%M")
 | |
|         when 'format2' #  Y/M/D
 | |
|           date.strftime(" %m/%d")
 | |
|         when 'format3' #  Y/M
 | |
|           date.strftime(" %m#{I18n.t("admin.infos.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"]["claendar"] == "west_claendar"
 | |
|           show_west_calender(from_to)
 | |
|         when self.attribute_field["typeC"]["claendar"] == "tw_claendar"
 | |
|           show_minguo_calendar(from_to)
 | |
|       end #case self.attribute_field["typeC"]["claendar"]
 | |
|     when :en
 | |
|       show_west_calender(from_to)
 | |
|     end
 | |
|   end
 | |
| end |