已尝试以下操作:
config.time_zone = 'Pretoria'
config.active_record.default_timezone = 'Pretoria'
没有收到任何错误,但它仍然显示为伦敦时间而不是比勒陀利亚,即 +2 小时。
知道为什么吗?
也许尝试为每个请求设置时区?这样,您最终可以让用户设置自己的时区,并且每个请求都可以与其时区设置相关。
class ApplicationController < ActionController::Base
around_filter :set_time_zone
def set_time_zone
if logged_in?
Time.use_zone(current_user.time_zone) { yield }
else
yield
end
end
end
http://api.rubyonrails.org/classes/Time.html#method-i-zone-3D