我已将应用程序的默认时区设置为太平洋时间。
config.time_zone = 'Pacific Time (US & Canada)'
config.active_record.default_timezone = 'Pacific Time (US & Canada)'
我面临的问题是当我在rails console中查询时...例如
Transaction.last
它返回一个像这样的对象
=> #<Transaction id: 4926, offer_id: 4926, date: "2014-10-08 04:23:03", reference: "CBRNCUQU", driver_id: 464, driver_type: "User", amount: 80.0, status: "paid", created_at: "2014-10-08 04:23:03", updated_at: "2014-10-07 22:15:27">
此处显示的日期字段为date: "2014-10-08 04:23:03"
,以UTC表示,实际上PDT中的日期为2014-10-07
但如果我像这样查询Transaction.last.date
,则返回
Tue, 07 Oct 2014 21:23:03 PDT -07:00
这是正确的和预期的输出
我面临的问题是,我想在我的页面中显示当前日期交易的详细信息,并在页面中返回具有未来日期的交易。这可能会发生,因为数据库以UTC格式保存记录 有什么方法可以解决这个问题。
答案 0 :(得分:1)
正如我从api文档http://apidock.com/rails/ActiveRecord/Base/default_timezone/class
中看到的那样 default_timezone
仅接受:local
或:utc