最佳答案
我在选择 Postgres 的日期时遇到了问题-它们是以 UTC 格式存储的,但是 没有正确地使用 Date ()函数进行转换。
如果太平洋标准时间下午4点过后,将时间戳转换为日期会给我错误的日期。
在这种情况下,2012-06-21
应该是 2012-06-20
。
starts_at
列的数据类型是 timestamp without time zone
。以下是我的查询:
不转换为太平洋夏令时时区:
Select starts_at from schedules where id = 40;
starts_at
---------------------
2012-06-21 01:00:00
转换给出了这样的结果:
Select (starts_at at time zone 'pst') from schedules where id = 40;
timezone
------------------------
2012-06-21 02:00:00-07
但两者都不能转换成时区中正确的日期。