У меня возникла проблема выбора даты из Postgres - они хранятся в UTC, но не правильно преобразовывая функцию Date().
Преобразование метки времени в дату дает мне неправильную дату, если она прошла с 16:00 по PST.
2012-06-21
должен быть 2012-06-20
в этом случае.
Типовой тип столбца starts_at
- timestamp without time zone
. Вот мои запросы:
Без преобразования в часовой пояс PST:
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
Но не переходите к правильной дате в часовом поясе.