在ruby sqlite3中更改列日期列格式

时间:2015-01-18 18:07:10

标签: ruby-on-rails ruby date sqlite format

我在我的数据库环境中使用sqlite3。我在ruby中有一个名为date的列,我使用类似date:date的脚手架创建,因此类型是日期,它也称为日期。日期默认为ruby,以便在输入_form_html.erb之后显示日期,例如" 2015年1月18日" 。但我希望它在index.html.erb视图中显示18-01-2015之类的日期。所以不管我输入的格式是什么,格式都设置为年份第一种方式,所以如果我输入18-01-2015,那么它会反过来显示它,但如果我输入任何随机的,那么它显示为空白。

1 个答案:

答案 0 :(得分:2)

您可以在date_formats.rb内创建名为config/initializers/的文件。

# config/initializers/date_formats.rb
Date::DATE_FORMATS[:date_month_year] = '%d-%m-%Y'

现在在视图调用

<%= date.to_s(:date_month_year) %>

这种方法的优点是,您不需要为每个视图定义您的客户日期格式。无论何时需要此格式,只需使用格式的相应符号即可。阅读#to_s方法。

注意:Date#to_sDate#to_formatted_s别名