如何在特定时区指定“今天的开始”?

时间:2015-03-17 14:43:24

标签: postgresql

我有一个带有“带时区的时间戳”列的表格。我想找到时间戳早于今天的所有行,其中“今天”是在特定时区确定的。

我知道如何使用at time zone将文字时间戳解释为在某个特定时区,并且我知道如何使用date_trunc来获取今天的开头。但我不确定如何将它们结合起来以获得我需要的东西。我试过了

select date_trunc('day', current_date at time zone 'cst');

给了我“2015-03-16 00:00:00”,但是我不清楚这个结果使用了什么时区(或者它是否有一个)。如何根据特定时区选择当天的开头?

1 个答案:

答案 0 :(得分:7)

它帮助我重新构建了如下问题:中心时区的当前日期和时间是多少?然后,我想要的是那天开始的午夜[在中央时区]。我发现我可以把它写成

current_date::timestamp AT TIME ZONE 'cst'