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

Pre*_*ays 3 ruby mysql datetime

根据" Ruby datetime适合mysql比较 ",我应该可以做到:

Time.now.to_s(:db)
Run Code Online (Sandbox Code Playgroud)

这似乎不再有效.我明白了:

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>'
Run Code Online (Sandbox Code Playgroud)

此功能是否仍然存在或者我是否必须手动格式化日期和时间以适应MySQL格式?

我正在使用ruby 2.2.2.

小智 8

Time#to_s不接受Ruby中的参数.如果你正在使用Rails,ActiveSupport :: TimeWithZone提供to_s你所指的方法.

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

Time.now.strftime('%Y-%m-%d %H:%M:%S')
Run Code Online (Sandbox Code Playgroud)