2013-05-02 1196 views
2

我们的应用程序的每个用户可以具有不同的日期格式。 我可以在应用程序控制器中使用类似Date::DATE_FORMATS[:default] = "%m/%d/%Y"的东西来改变默认的日期格式。YML根据用户配置文件设置的日期格式

但我想在en.yml可更改日期格式:

date: 
     formats: 
      default: "%Y/%m/%d" 
      short: "%b %d" 
      long: "%B %d, %Y" 

如何更改默认情况下,短期和长期日期甲在阳明文件的飞行,我们可以使用Date::DATE_FORMATS[:default] = "%m/%d/%Y"

注:鉴于我用<%= l Time.now.to_date, :format=>:short%>

感谢。

+0

据我了解,你要显示的日期格式为每个用户自己选择(data_format_month)? – Bob 2013-05-02 13:00:21

+0

他不会选择,但我们将从他的个人资料设置中获取它,如同在数据库中。 – 2013-05-02 13:11:53

+0

然后你可以使用'strftime(“format”)'方法:例子'Date.today.strftime(“%m /%d /%Y”)' – Bob 2013-05-02 13:13:47

回答

0

您只能在应用程序控制器中使用不同的数据格式。 在应用程序控制器中写入。 (:data_format =>“%d-%B-%Y”) Time :: DATE_FORMATS.merge!(:data_format_month =>“%m-%d-%Y”)

并在视图中或助手调用data_format或data_format_month。 例如 created_on.to_s(:DATA_FORMAT)显示d-B-Y格式 update_on.to_s:用于显示M-d-Y格式

+0

谢谢,它工作正常,但我想在视图中使用<%= l Time.now.to_date,:format =>:short%>,它将从en.yml文件中获取日期格式。 – 2013-05-02 13:56:52