2016-12-07 5 views
0

テーブルの行を2011-06-30 05:59:59 + 00形式から変更したい〜へ2011-06-30 05:59:59 CDTフォーマットタイムゾーンの短縮形(2004-10-19 10:23:54 EST)でタイムスタンプを表示するにはPostgresのテーブルを変更する方法

+2

Postgresのタイムスタンプが実際にタイムゾーン情報を格納しないでください。また、時間単位でのGMTからのオフセットが、そのタイムゾーンがどの_場所_であるかを特定することを必ずしも可能にするとは限りません。詳細については、[ここ](http://stackoverflow.com/questions/5876218/difference-between-timestamps-with-without-time-zone-in-postgresql)を参照してください。 –

答えて

1

ティムが言ったように、ポストグルはTZ情報を保存していません。このように列を変更することはできません。関数やビューなどを作成しない限り(テーブルは変更されません)。 タイムスタンプを表示して解釈するためのタイムゾーンを設定します

タイムゾーン(文字列)

:あなたは change timezoneがあなたの必要を確認するために、代わりに何をすべきか。明示的に設定されていない場合、サーバーはこの 変数をシステム環境で指定された時間帯に初期化します。詳細については、 8.5.3項を参照してください。

そして、ここでのように... TZ情報を表示するためにformattingを使用します。

b=# select now(); 
      now 
----------------------------- 
2016-12-07 15:13:35.1369+00 
(1 row) 

b=# set timezone = EST; 
SET 

b=# select to_char(now(),'YYYY-MM-DD HH24:MI:SS TZ'); 
     to_char 
------------------------- 
2016-12-07 10:13:55 EST 
(1 row) 
関連する問題