Wed Sep 22 13:15:02 -0400 2010
格式2010-08-23 13:15:02 -0400
左边是Time.now
右边是30.days.ago = \
答案 0 :(得分:2)
您可以使用Time类中的to_s(:db)
方法将其转换为数据库友好格式。
Time.now.to_s(:db) # => "2010-09-22 17:50:41"
如果您确实需要时区偏移信息,可以将自定义格式添加到Time::DATE_FORMATS
,例如
Time::DATE_FORMATS[:db_with_zone_offset] = lambda { |time|
time.strftime("%Y-%m-%d %H:%M:%S #{time.formatted_offset(false)}")
}
之后你可以简单地调用
Time.now.to_s(:db_with_zone_offset) => # "2010-09-22 17:48:21 +0000"
答案 1 :(得分:1)
两者都是不同的数据类型。
>> Time.now.class
=> Time
>> 30.days.ago.class
=> ActiveSupport::TimeWithZone
使用strftime方法对其进行格式化。
答案 2 :(得分:1)
如果您想使用数据库格式的格式,那么您可以使用:
Time.now
=> Wed Sep 22 19:54:24 +0200 2010
Time.now.to_s(:db)
=> "2010-09-22 19:54:48"
Time.now.utc.to_s(:db)
=> "2010-09-22 17:55:16"