我的应用程序中有一个表单输入,它接受DD / MM / YYYY格式的日期,例如02/05/2012是2012年5月2日。
将此转换为适合通过ActiveRecord添加到数据库的格式的最佳方法是什么?
在添加到数据库之前,有没有简单的方法将02/05/2012转换为05/02/2012?
答案 0 :(得分:6)
这类似于Getting rails to accept European date format (dd/mm/yyyy)
在模型中,创建一个setter方法,其中“my_date”是您的数据库字段。
def my_date=(val)
Date.strptime(val, "%d/%m/%Y") if val.present?
end
答案 1 :(得分:3)
对于此特定格式,您可以拨打DateTime.parse
:
DateTime.parse("02/05/2012") # => Thu, 02 May 2012 00:00:00 +0000
答案 2 :(得分:3)
2年后,但这也是我遇到的事情,这是我的修复。
在您看来,使用: <%= l article.created_at,format :: euro%> **确保添加l
然后在/config/locales/en.yml中添加:
en:
time:
formats:
euro: "%d/%m/%Y"
**你也可以添加,欧元:"%D"以美国日期格式显示。
感谢。