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