2016-12-07 72 views
0

我想更改我的表格行2011-06-30 05:59:59 + 00格式進入2011-06-30 05:59:59 CDT格式如何在Postgres中更改表格以顯示帶時區縮寫的時間戳(2004-10-19 10:23:54 EST)

+2

Postgres的時間戳實際上不存儲時區信息。還要認識到,從GMT以小時爲單位的偏移量不一定能夠確定哪個時區是位於哪個位置。請參閱[這裏](http://stackoverflow.com/questions/5876218/difference-between-timestamps-with-without-time-zone-in-postgresql)瞭解更多信息。 –

回答

1

正如蒂姆告訴,postgres不存儲TZ信息。你不能這樣改變列。除非你創建函數或視圖或其他東西(無論如何不會改變表格)。你做什麼,而不是你change timezone看你需要:

時區(串)

設置時區顯示和解釋 時間戳。如果未明確設置,則服務器將此變量初始化爲其系統環境指定的時區。有關更多信息,請參閱 節8.5.3。

並使用formatting顯示TZ信息...喜歡這裏:

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) 
相關問題