格式化rails模型中的日期

时间:2011-05-06 23:39:25

标签: ruby-on-rails-3 model

我在导轨模型中有一个出生日期,我在不同的地方显示它。每次我必须以mm/dd/yyyy格式专门格式化它。我可以在我的模型中做些什么,这样每次我得到它都会以mm/dd/yyyy格式出现。

2 个答案:

答案 0 :(得分:4)

可以在模型中定义快速formatted_birthday方法,但如果您只是将其输出到视图,则可以使用Rails的内置日期格式输出:

http://guides.rubyonrails.org/i18n.html#adding-date-time-formats

# config/locales/en.yml
en:
  time:
    formats:
      birthday: "%m/%d/%Y"

然后在您的视图中使用:

<%= l person.birthday, :format => 'birthday' %>

或者您可以在格式定义中将birthday更改为default,您可以同时省略:format选项。

答案 1 :(得分:4)

是的,你可以。在config / initializers / some_initializer.rb

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

现在所有日期都将以上述格式显示。 如果你想有时只选择它。然后

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

然后你可以随心所欲地使用

your_date.to_s(:myformat)