我已将应用程序的默认时区设置为太平洋时间。
config.time_zone = 'Pacific Time (US & Canada)'
config.active_record.default_timezone = 'Pacific Time (US & Canada)'
我面临的问题是,当我在rails控制台中查询时。。例如
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有什么办法可以解决这个问题吗。
正如我从api文档中看到的那样http://apidock.com/rails/ActiveRecord/Base/default_timezone/class
default_timezone
只接受:local
或:utc