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 |