如何在Postgres中返回正确的当地时间

时间:2017-03-29 10:01:05

标签: sql postgresql

select current_time at time zone 'GMT-2'

返回

"11:54:40.22045+02"

但Windows中正确的本地时间是一小时不同:

12:54

如何获得正确的当地时间?

使用

" PostgreSQL 9.6.0,由Visual C ++ build 1800编译,32位"

使用Windows 10中的标准postgresql.conf文件 同样的问题也发生在更早的Postgres和早期的窗口中。

Windows中的服务器时间是正确的。

夏令时每周更改一小时。 也许postgres没有认出来。

1 个答案:

答案 0 :(得分:4)

不要使用time with time zone,它是无用的数据类型。

请参阅the documentation

  

类型time with time zone由SQL标准定义,但是   定义表现出导致可疑用途的特性。   在大多数情况下,datetimetimestamp without time zone的组合,   timestamp with time zone应该提供完整的日期/时间范围   任何应用程序都需要的功能。

使用localtime获取当前会话时区的当前时间(由TimeZone参数定义)。