如何在本地或utc以外的Ruby / Rails中存储时间

时间:2015-05-21 15:04:59

标签: ruby-on-rails ruby sql-server activerecord

我有一个独特的情况。我们正在为每个客户运行一个具有不同Rails环境的托管应用程序,因此我不维护代码库的多个副本。每个客户都在不同的时区,我必须将时间存储在该时区,以使我们的桌面应用程序正常工作。我无法更改系统时间以匹配,因为在同一服务器上运行多个实例。我的问题是我知道我可以这样做:

config.active_record.default_time_zone = :utc

或者这个:

config.active_record.default_time_zone - :local

无论如何我能做到吗?

config.active_record.default_time_zone = 'Mountain Time (US & Canada)'

并且系统时钟仍然是中央时间?

BTW我们正在使用SQL Server和JRuby

1 个答案:

答案 0 :(得分:0)

您应该以UTC格式在数据库中存储时间,并将每个用户的时区设置保留在数据库中。

请记住,SQL服务器可以有自己的时区设置,因此您也应该正确配置它。