我在轨道上处理日期和时区的最好方法是什么?
Scenerio:我有客户在世界各地的网站上购买产品,当他们登录时,他们将能够选择他们来自哪个时区.
所以我相信我应该将数据库中的所有东西存储在UTC,然后在前端我应该把日期转换为用户设置时区偏好.
他们是否有Ruby和Rails和datetimes等的?
我是新来的,所以我正在寻找如何正确处理的指导.
解决方法
幸运的是,Rails几乎可以处理你的事情.正如其他人指出的,日期由AR以UTC格式存储.如果你的用户表有一个time_zone字段,你可以这样做:
# application.rb config.time_zone = "Mountain Time (US & Canada)" # Default time zone
–
# application_controller.rb before_filter :set_time_zone,:if => :logged_in? protected def set_time_zone Time.zone = current_user.time_zone if current_user.time_zone end
所有的数据时间应该在您的视图中的适当时区显示.
我有一个不喜欢使用默认时区的生产应用程序,但我不记得它运行的是哪个版本的Rails / Ruby.