我试图从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
原文地址:https://www.jb51.cc/postgresql/192782.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。