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

change columns date column format in ruby sqlite3

我正在为我的数据库环境使用 sqlite3。我在 ruby 中有一个名为 date 的列,它是我使用类似 date:date 的脚手架创建的,所以类型是日期,也称为日期。日期由 ruby 默认为在输入 _form_html.erb 后显示日期,例如“2015-01-18”。但我希望它在 index.html.erb 视图中显示 18-01-2015 之类的日期。所以无论我在表格中输入什么,格式都设置为年份优先方式,所以如果我输入 18-01-2015,那么它会以相反的方式显示,但如果我随机输入任何内容,它就会显示空白。

您可以在 config/initializers/.

中创建一个名为 date_formats.rb 的文件
# 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 别名