【发布时间】:2014-05-24 16:28:19
【问题描述】:
我正在尝试从 postgres 中的查询中提取日期。时间戳存储为 UTC,所以如果我有 2014 年 1 月 1 日 02:00:00,我希望太平洋时间的日期是 2013 年 12 月 31 日,而不是 2014 年 1 月 1 日。我真的很接近,但查询 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
我基本上想返回它所在时区的日期,在这种情况下是太平洋时区。
【问题讨论】:
标签: postgresql date timestamp timezone