PostgreSQL - как отображать дату в другом часовом поясе?

Мой сервер находится в центральном времени. Я хотел бы отображать временные метки, используя восточное время.

Например, я хотел бы отображать 2012-05-29 15:00:00как 2012-05-29 16:00:00 EDT.

Как мне этого добиться?

to_char('2012-05-29 15:00:00'::timestamptz в часовом поясе 'EST5EDT', 'ГГГГ-ММ-ДД ЧЧ24:MI:СС TZ')дает 2012- 05-29 16:00:00(без зоны).

to_char('2012-05-29 15:00:00'::timestamp в часовом поясе 'EST5EDT', 'YYYY-MM-DD HH24:MI:SS TZ')дает 2012- 05-29 14:00:00 CDT(ошибка).

Этот работает, но он настолько смехотворно сложен, что должен быть более простой способ: replace(replace(to_char(('2012-05-29 15:00:00'::timestamptz в часовом поясе 'EST5EDT') ::timestamptz, 'ГГГГ-ММ-ДД ЧЧ24:МИ:СС TZ'), 'CST', 'EST'), 'CDT', 'EDT')

27
задан Erwin Brandstetter 1 December 2013 в 17:16
поделиться