2016-12-07 45 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) 
相关问题