我正在开发一个需要处理用户时区的日期和时间的Rails应用程序.我们最近将它迁移到Rails 2.1并添加了时区支持,但是在很多情况下我们使用Time#utc然后与那个时间进行比较.这与原始Time对象的比较不一样吗?
何时在Rails 2.1中使用Time#utc是否合适?什么时候不合适?
如果您已设置:
config.time_zone = 'UTC'
在您的environment.rb中(默认情况下),当ActiveRecord存储时,时间将自动转换为UTC.
然后,如果您将Time.zone(在application.rb上的before_filter中是通常的位置)设置为用户的时区,则所有时间都将从utc存储自动转换为用户的时区.
小心Time.now.
另见:
http://mad.ly/2008/04/09/rails-21-time-zone-support-an-overview/
http://errtheblog.com/posts/49-a-zoned-defense - 你可以在这里使用JS来检测区域
希望有所帮助.