最近我想更改帖子的updated_at
列,但这不是那么简单!
不过,服务器时间是12:06,当我使用控制台(irb)时是12:06 还尝试过:
irb(main):001:0> Time.zone.to_s
=> "(GMT+03:00) Moscow"
我仍然在这样做:
post.update!(updated_at: DateTime.now)
=> true
如果我检索记录,则结果为“ 2018-10-29 09:06:47”
感谢您的帮助!
答案 0 :(得分:3)
尝试使用DateTime.current
-如果您的应用运行于同一时间,则会获得分区时间。
从文档中
设置了Time.zone或config.time_zone时返回Time.zone.now.to_datetime,否则返回Time.now.to_datetime。
基本上,Time.zone
应该反映DateTime.current
,如果您使用的是时区,而Time.now
和DateTime.now
将忽略任何时区。该方法的来源在这里很容易解释:
def current
::Time.zone ? ::Time.zone.now.to_datetime : ::Time.now.to_datetime
end
希望有帮助-如果您有任何疑问,请给我喊一声。