我创建了一个新对象,并通过控制台保存了该对象。我注意到created_at
和updated_at
列是GMT格式的,但当我在控制台中执行Time.now
时,我会在时区中获得时间。如何用当地时间从控制台保存我的记录?
答案 0 :(得分:2)
Rahul,Rails正确地以UTC(如GMT)格式转移到 store 日期。我强烈建议不要撤消这个。
Rails(和ruby)提供了Time.zone,Time.local和其他方法,可帮助您以正确的本地时间显示值。您当地的时间取决于您系统的设置,但您当地的时间不一定与使用该系统的其他人的时间相同。一旦将其放在野外的Web服务器上,人们可能处于不同的时区。您可以告诉Rails默认情况下在本节的application.rb
中使用哪个时区
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
config.time_zone = 'Eastern Time (US & Canada)'
对于大多数用户位于同一时区的情况,这可能正常,但如果您希望用户能够在其时区中查看日期/时间,您可能希望将他们的区域存储在用户记录中。有一个time_zone_select
帮助器可以轻松捕获该信息。