将Time或DateTime转换为MySQL兼容的DateTime

将Time或DateTime转换为MySQL兼容的DateTime,mysql,ruby,datetime,Mysql,Ruby,Datetime,根据“”,我应该能够做到: Time.now.to_s(:db) 这似乎不再有效。我得到: irb(main):001:0> Time.now.to_s(:db) ArgumentError: wrong number of arguments (1 for 0) from (irb):1:in `to_s' from (irb):1 from C:/Ruby22/bin/irb:11:in `<main>' irb(main

根据“”,我应该能够做到:

Time.now.to_s(:db)
这似乎不再有效。我得到:

irb(main):001:0> Time.now.to_s(:db)
ArgumentError: wrong number of arguments (1 for 0)
        from (irb):1:in `to_s'
        from (irb):1
        from C:/Ruby22/bin/irb:11:in `<main>'
irb(main):001:0>时间。现在。到s(:db)
ArgumentError:参数数目错误(1代表0)
from(irb):1:in'to_'s
来自(irb):1
来自C:/Ruby22/bin/irb:11:in`'
这个功能是否仍然存在,或者我必须手动设置日期和时间的格式以适应MySQL格式

我使用的是ruby 2.2.2。

Time\u s
不接受ruby中的参数。如果您使用的是Rails,ActiveSupport::TimeWithZone将提供您所指的
方法

要在没有ActiveSupport的情况下在Ruby中获取此格式,您可以使用:

Time.now.strftime('%Y-%m-%d %H:%M:%S')

上述方法在Rails中有效,但不是纯Ruby。您是否使用Rails?不,我使用的是纯ruby。您也可以尝试时间。现在。数据库应该识别的iso8601
。Google云平台上的默认MySQL实例,其默认Rails创建时间和更新时间不支持iso8601。