视图中的日期格式返回意外格式;控制台中的格式正确

时间:2012-11-10 13:37:39

标签: ruby-on-rails-3 date

我正在尝试以YYYY-MMM-DD方式格式化我的日期。我有一个指定它的en.yml文件。

formats:
  default: ! '%Y-%b-%d'

我还在initializers文件夹中创建了date_time_formats.rb。

Date::DATE_FORMATS[:default] = '%Y-%b-%d'
Time::DATE_FORMATS[:db]= '%Y-%b-%d'

我还尝试将相同的代码直接放在我的environments.rb文件中。如果我在控制台Date.now.to_s中测试出默认设置,那么我得到了我期望的回报," 2012年11月10日",但在我看来,我总是看到" 2012-11 -10&#34 ;.

我尝试使用Date.nowDate.now.to_s将其保存在控制器中,但我仍然得到相同的结果。

我必须遗漏一些简单的东西,所以任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:0)

我找到了问题的答案,虽然我不明白为什么。这是一个解答它的Stack答案here

基本上我将这两行代码添加到我的environment.rb。

Time::DATE_FORMATS.merge!({:db => '%m/%d/%Y', :uk_format => '%m/%d/%Y'})
Date::DATE_FORMATS.merge!({:db => '%m/%d/%Y', :uk_format => '%m/%d/%Y'})

现在一切都按计划进行。我查找了有关合并功能的文档以获得更好的理解,但没有任何运气。

答案 1 :(得分:0)

您还可以尝试在视图中本地化日期:

<%= l(Model.created_at) %>