使用表格的时间戳列(不含时区)作为EST

时间:2016-10-06 06:25:35

标签: ruby-on-rails postgresql ruby-on-rails-4 psql

我在db中有table 'A' column 'x' type 'timestamp without timezone',在rails项目中我将时区设置为' EST'。当我从项目中创建/更新记录时,一切正常。

问题是我使用PSQL从另一个数据库导入数据。 ' X'列与旧数据库中的时间相同,但是当我使用'ActiveRecord'查询时,我会得到' +05:00'偏移。我很困惑如何告诉'ActiveRecord'该时间已经在' EST'?

这是我的解决方案。

=> A.first.x.to_s(:db)
# "1900-01-01 21:47:00"

=> A.first.x
#Mon, 01 Jan 1900 16:47:00 EST -05:00

但还有其他更好的选择吗?

2 个答案:

答案 0 :(得分:0)

在application.rb中添加以下内容必须正常工作

config.time_zone = 'Eastern Time (US & Canada)'
config.active_record.default_timezone = 'Eastern Time (US & Canada)'

或您希望的每个区域

答案 1 :(得分:0)

您可以将时间转换为“EST'您的查询中的时区

您可以找到答案here