config.time_zone
和config.local_zone
之间有什么区别?是否应该同时设置?
答案 0 :(得分:5)
1) config.time_zone
Rails使您能够配置应用时区。它就像Time.zone = 'EST'
一样简单。
因此,在config.time_zone
中设置application.rb
最终会做同样的事情。这是正确的做法,因为我们不想依赖服务器时区。
在application.rb
(Rails 3)文件中,您可以设置默认时区:
config.time_zone = 'Central Time (US & Canada)'
2) config.local_zone
显示系统本地时间。
因此,如果你真的必须在数据库中拥有本地时间,那么应该依赖于Rails
将config.time_zone
设置为UTC,这告诉它应该假设
时间戳已经是UTC,因此不需要更改它们
让他们进入它认为的UTC。
config.active_record.default_timezone
确定从数据库中提取日期和时间时是否使用Time.local
(如果设置为:local)或Time.utc
(如果设置为:utc)。 Rails的默认值为:utc
,但在Rails之外使用时,Active Record默认为:local
。