1
我对RoR比较陌生,并且遇到了时区转换问题。从数据库中获取数据(存储在美国中部时间)时,它认为那里的时间以UTC为单位,并尝试转换它们,因此使它们在5小时内错误。我在我的application.rb文件中有:Rails 3.1时区UTC和中心时区混淆
config.time_zone = 'Central Time (US & Canada)'
config.active_record.default_timezone = 'Central Time (US & Canada)'
如果我删除了其中一个配置指令,则时间不能正确保存。只要我有他们,时间正确地存储在数据库中,但RoR无法正确读取它们。为了解决这个问题,我必须将从数据库获得的所有时间都转换为UTC。我必须相信有更好的方法。
我也尝试设置ENV ['TZ'],但那似乎没有做任何事情。
ENV['TZ'] = "US/Central"
任何帮助都会被处理。
谢谢!
你有没有机会做* sane *的事情,并改变数据库本身的数据,所以它都是UTC?将数据全部存储在一个特定的(非UTC)时区是需要麻烦的 - 而且由于DST转换,它也会丢失信息。 –
不幸的是,设计决策不在我的手中。对于这个项目,我被告知时间必须存储在美国中部时间。 – user1485753
你的意思是在中部时间,对吧?不是CST,它总是*标准*时间。 –