ruby-on-rails – Rails和日期,默认情况下是以UTC格式存储的?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails和日期,默认情况下是以UTC格式存储的?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在轨道上处理日期和时区的最好方法是什么?

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.

猜你在找的Ruby相关文章