我的控制人员的行动
time = Time.now.strftime("%d-%m-%Y")
# render text: time
u=SectionMst.new( :section_name => params[:section_name], :date_added => time , date_updated => time)
u.save
我的模态代码是
class SectionMst < ActiveRecord::Base
attr_accessible :date_added, :date_updated, :id, :section_name
end
渲染文本:时间给出了正确的所需格式,但保存为%Y-%m-%d格式 不能为什么?
答案 0 :(得分:3)
默认db
日期格式为:%Y-%m-%d %H:%M:%S
。您可以在Time::DATE_FORMATS[:db]
中执行rails console
来检查此问题。
您可以通过在config/initializers/
内的初始化程序文件中定义所选格式来更新此格式。示例:
# config/initializers/date_time_format.rb
Date::DATE_FORMATS[:db] = "%d-%m-%Y"
Time::DATE_FORMATS[:db] = "%d-%m-%Y %H:%M:%S"
答案 1 :(得分:0)
这是您的数据库的问题,实际数据库支持不同格式的日期,当您发送日期时,格式化后将其转换为自己的方式,以避免使用DB函数转换日期。作为date_format(date, format)
例如。 SELECT ProductName, Price, FORMAT(Now(),'YYYY-MM-DD') AS PerDate
FROM Products
使sql查询从这个链接中获取帮助
Format used when converting and saving a date string to database with rails