Postgresql 时区不正确(如何正确设置时区)
这是PostgreSQL 如果我执行:Postgresql 时区不正确(如何正确设置时区),postgresql,Postgresql,这是PostgreSQL 如果我执行: set timezone to '+3:00'; select '2004-10-19 10:23:54'::TIMESTAMP WITH TIME ZONE; 我得到的结果是: 2004-10-19 10:23:54-03 2004-10-19 10:23:54+03 我已经将时区设置为+3,但它变成了-3。为什么时区的正变为负 如果我执行 set timezone to '-3:00'; select '2004-10-19 10:23:54':
set timezone to '+3:00';
select '2004-10-19 10:23:54'::TIMESTAMP WITH TIME ZONE;
我得到的结果是:
2004-10-19 10:23:54-03
2004-10-19 10:23:54+03
我已经将时区设置为+3,但它变成了-3。为什么时区的正变为负
如果我执行
set timezone to '-3:00';
select '2004-10-19 10:23:54'::TIMESTAMP WITH TIME ZONE;
我得到的结果是:
2004-10-19 10:23:54-03
2004-10-19 10:23:54+03
同样,在时区,负数变成了正数。从这里开始:
偏移字段指定与UTC的小时差,也可以指定分钟和秒差。它们的格式为hh[:mm[:ss]],可选地带有前导符号(+或-)。正号用于格林威治以西的区域。(请注意,这与PostgreSQL中其他地方使用的ISO-8601符号约定相反。)hh可以有一个或两个数字;mm和ss(如果使用)必须有两个
此外:
应该注意的是,POSIX风格的时区规范很容易拼写错误,因为没有检查时区缩写的合理性。例如,将时区设置为FOOBAR0将起作用,使系统有效地使用UTC的一个相当独特的缩写
底线是指定一个最小时区将产生输出,但不能保证准确