2014-08-28 52 views
0

我一直与一个Rails项目,当对象的创建,我需要created_at field.I确切时间已经applicaiton.rb轨活动记录的时区

config.time_zone = 'Chennai' 
config.active_record.default_timezone = :local 

尝试了这些,当我试图在控制台,它示出了像

Time.now 
=> 2014-08-28 21:31:31 +0530 
m.created_at 
=> Thu, 28 Aug 2014 21:28:26 IST +05:30 

,但问题是,当我采取一个数据库对象,则created_at时间是

created_at: "2014-08-28 15:58:26" 

回答

1

Rails将所有时间戳存储在数据库中的UTC中。当您在控制台上键入这些命令时,它会将时间戳转换为您的特定时区。

http://api.rubyonrails.org/classes/ActiveRecord/Timestamp.html

我你的具体情况2014-08-28 15:58:26 UTC是一样2014-08-28 21:28:26 IST

将所有时间戳保存为UTC会使数据保持一致,并且含糊不清。然后,您可以根据您选择的时区进行所有转换。