在Rails 4中更改默认日期和时间格式

smi*_*day 22 datetime ruby-on-rails internationalization ruby-on-rails-4

我一直在寻找一种方法来改变Rails 4中的默认日期格式.

smi*_*day 43

通过Rails Internationalization(I18n)API找到了一个很好的方法

通过将格式添加到i18n配置,可以"转换"数据和时间格式.

配置/语言环境/ en.yml

en:
  date:
    formats:
      default: "%d/%m/%Y"
  time:
    formats:
      default: "%d/%m/%Y %H:%M"
Run Code Online (Sandbox Code Playgroud)

注意:记得没有缩进的标签,就像我第一次做的那样:)


正如NoelProf在评论中提到的那样

要使用i18n转换,请不要忘记在视图中的日期之前的l(小写L)!例如:<%= l your_date%>

如果您发现其他方法运作良好,请您发表评论.

  • 要使用i18n转换,请不要忘记在视图中的日期之前的l(小写L)!例如:`<%= l your_date%>` (5认同)

732*_*732 28

加上这个

# Date
Date::DATE_FORMATS[:default] = "%d/%m/%Y" 

# Time
Time::DATE_FORMATS[:default] = "%d/%m/%Y %H:%M" 
Run Code Online (Sandbox Code Playgroud)

to config/initializers/date_time.rb

然后重启服务器.

  • 使用`date_time.rb`作为文件名是否典型?我知道这没关系,但在http://api.rubyonrails.org/classes/DateTime.html#method-i-to_formatted_s的代码示例中,它显示了`time_format.rb`. (2认同)