出于某种原因,我无法将时间保存到MySQL。我的专栏是一个日期时间,我在测试时也试过使用时间戳。这是我的控制台会话:
$ ./script/console Loading development environment (Rails 2.1.0) >> Event.find 1 # Event id: 1, name: "Meeting at XXX", start_date: "2009-01-17" >> e.start_date = Time.now => Thu Jan 22 16:40:01 0000 2009 >> e.save => true >> e.start_date => Thu Jan 22 16:40:01 0000 2009 >> e.reload # Event id: 1, name: "Meeting at XXX", start_date: "2009-01-22"
时间部分在更新和查询中被忽略。
答案 0 :(得分:0)
原来这是由Rails 1或更低天的旧代码引起的。
ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS.merge!(
:date_month => "%d %b",
:dd_mm_yyyy => "%d/%m/%y",
:yyyy_mm_dd => "%Y-%m-%d"
)
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(
ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS
)
删除它解决了问题。
答案 1 :(得分:0)
我有一个类似的问题,列的日期部分没有被保存。这是因为类型为time
而非datetime
。