0

我有:

irb(main):016:0> t[0].change_date
=> Tue, 08 May 2012 18:33:53 FET +03:00
irb(main):017:0> t[0].change_date.class
=> ActiveSupport::TimeWithZone
irb(main):018:0> t[0].change_date.to_s
=> "2012-05-08 18:33:53 +0300"

如何获得日期时间的字符串表示但没有偏移量+3000?我只需要“2012-05-08 18:33:53”

4

2 回答 2

1

您可以使用strftime格式化您希望查看的方式datetimestrftime 文档。

因此,在您的情况下,如果您希望将日期视为:2012-05-08 18:33:53,请使用:

t[0].change_date.strftime("%Y-%m-%d %H:%M:%S")

于 2012-05-08T17:08:32.527 回答
1

您可以使用 ActiveSupport 中的辅助方法,例如

 t[0].change_date.to_formatted_s(:db)

由于 to_fomatted_s 别名为 to_s 您也可以使用

 t[0].change_date.to_s(:db)

您可以检查文档日期格式中的时间格式支持 (http://api.rubyonrails.org/classes/Date.html#DATE_FORMATS)

于 2012-05-08T17:16:10.493 回答