@interactions_by_time = @report.interactions.where(interaction_type: "comment").select('EXTRACT(HOUR from interaction_time)').group('EXTRACT(HOUR FROM interaction_time)').count.sort_by {|k,v| v}.reverse
我有上面的活动记录查询,它基本上按照发生的时间(小时)对交互进行分组。但是,结果是这样的:
[[23.0, 23], [2.0, 17], [21.0, 16], [20.0, 11], [1.0, 11], [0.0, 9], [22.0, 7], [18.0, 5], [3.0, 5], [4.0, 4], [5.0, 4], [19.0, 4], [12.0, 3], [15.0, 3], [16.0, 2], [14.0, 1], [17.0, 1], [11.0, 1], [10.0, 1], [13.0, 1]]
这是UTC时间,但是,我如何确保在current_user所在的任何时间?
答案 0 :(得分:0)
您可以使用CONVERT_TZ函数获取日期时间并将其从一个时区转换为另一个时区:(作为UTC的偏移量)
CONVERT_TZ(status_changes.created_at, '+00:00', '+08:00')
或将其从存储值(UTC)转换为本地时区,如(PST)。
CONVERT_TZ(status_changes.created_at,'UTC',?) between ? and ?, 'PST, '2014-01-24', '2014-03-10'
然后,您可以允许用户选择他们的时区并将转化次数与其特定时区相匹配。