postgresql – 在postgres中获取时区偏移的日期

我试图从postgres中的查询提取日期.下面的例子显示了我想要做的事情.时间戳存储为UTC,所以如果我有1/1/2014 02:00:00,我希望太平洋时间的日期是12/31/2013,而不是2014年1月1日.我非常接近,但查询2和3仍然返回2014年1月1日.
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

所以,我基本上想要在它所在的时区中返回日期,在这种情况下是太平洋时区.

如果是没有时区的时间戳,您需要先告诉它使用UTC时区然后转换为另一个时区:
SELECT '1-1-2014 02:00:00'::timestamp at time zone 'UTC' at time zone 'America/Los_Angeles';
      timezone       
---------------------
 2013-12-31 18:00:00

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...