我正在尝试使用我在应用程序中设置的时区进行查询,但查询始终按默认的UTC时区进行分组。如何使用配置文件中设置的时区?
我有以下代码:
trans = table.order("date(created_at)").group("date(created_at)").limit(30)
trans.count.each do |key,value|
labels_array.push key
sales_array.push value
end
trans.sum(:amount).each do |key,value|
revenue_array.push value
end
答案 0 :(得分:1)
我认为你设置了
# application.rb
config.time_zone = 'your timezone'
这是改变Rails时区但不是ActiveRecard(继续以UTC格式保存)。 如果你想改变ActiveRecord时区
# application.rb
config.time_zone = 'your timezone'
config.active_record.default_timezone = :local
我的观点 - 这并不是很糟糕,但我认为当系统处于UTC(数据库,缓存等)时这是一个很好的做法。
您可以使用SQL
分组您的时区 #mysql example
.group("DATE(CONVERT_TZ(your_field, 'UTC','<name of time zone>'))")