我正在处理当前存储在 UTC 中的时间数据,但我希望它在 PST 中,比它晚了 8 小时。我有一个相当冗长和复杂的查询,但我唯一感兴趣的是现在的时间,所以我已经包括了这些部分。我想将时间转换为 PST,然后按数据最后一周的日期分组。查询具有以下结构:
select
date_trunc('day', time1) AT TIME ZONE 'US/Pacific'
...
where
time1 AT TIME ZONE 'US/Pacific' > now() AT TIME ZONE current_setting('TimeZone') - INTERVAL '168 HOURS'
...
group by date_trunc('day', time1)
这导致以下时间分组。据我了解,它从 0:00 UTC 分组,即太平洋标准时间 16:00。但是,我希望 groupby 在太平洋标准时间 0:00 开始。我该怎么做呢?现在,每组中的计数对于每天都有误导性,因为它们是从下午 4 点到下午 4 点,而不是从上午 12 点到上午 12 点。例如,星期日的计数异常高,因为星期日在 groupby 中包含星期一的部分数据。对于解决此问题的任何意见,我将不胜感激。谢谢你。