Rails中的默认日期格式(需要它是ddmmyyyy)

Chr*_*ris 13 ruby-on-rails

我一整天都在使用rails表格,我只是随机测试它并尝试了日期25/12/2009,它出现了一个巨大的错误.

就在这时我意识到导轨设置为美国日期模式(mm/dd/yyyy)而不是英国风格:dd/mm/yyyy.

如何设置rails以自动处理dd/mm/yyyy格式的所有日期?

vla*_*iim 24

如果您正在使用@Chris Ballance的解决方案,请注意Rails现在会Date直接修改该类,因此您将uninitialized constant ActiveSupport在解决方案中遇到错误.

请参阅: 未初始化的常量ActiveSupport :: CoreExtensions

更新的参数:

my_date_formats = { :default => '%d/%m/%Y' } 
Time::DATE_FORMATS.merge!(my_date_formats) 
Date::DATE_FORMATS.merge!(my_date_formats)
Run Code Online (Sandbox Code Playgroud)


Chr*_*nce 9

在您的设置文件中:config/environment.rb"

my_date_formats = { :default => '%d/%m/%Y' } 

ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(my_date_formats) 

ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS.merge!(my_date_formats) 
Run Code Online (Sandbox Code Playgroud)

来源:http: //thedevelopercorner.blogspot.com/2009/03/change-default-date-format-in-ruby-on.html

  • 这只是处理输出......这不是他所要求的. (4认同)
  • 这是一个非常古老的答案,不适用于 Rails 4 或 5。 (2认同)

edu*_*udi 6

您可以使用国际化更改日期格式(I18n)

只需在config/locales/en.yml中添加(或更改):

en:
  date:
    order:
      - :day
      - :month
      - :year
Run Code Online (Sandbox Code Playgroud)