我试图从Postgres的查询中提取日期。时间戳存储为UTC,因此如果我有1/1/2014 02:00:00,我想要太平洋时间的日期是12/31/2013,而不是1/1/2014。我已经非常接近了,但是第2和第3个查询仍然返回1/1/2014。
SELECT '1-1-2014 02:00:00'::timestamp at time zone 'America/Los_Angeles';
返回
2014-01-01 02:00:00-08
SELECT CAST('1-1-2014 02:00:00'::timestamp at time zone 'America/Los_Angeles' AS Date);
返回
2014-01-01
但我希望它返回2013-12-31
。
SELECT CAST('1-1-2014 00:02:00'::timestamp at time zone 'America/Los_Angeles' AS Date) at time zone 'America/Los_Angeles';
返回
2014-01-01 00:00:00
但我希望它返回 2013-12-31 00:00:00
我基本上想要以它所在的时区返回日期,这里是太平洋时区。