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没有认出来。
答案 0 :(得分:4)
不要使用time with time zone
,它是无用的数据类型。
类型
time with time zone
由SQL标准定义,但是 定义表现出导致可疑用途的特性。 在大多数情况下,date
,time
,timestamp without time zone
的组合,timestamp with time zone
应该提供完整的日期/时间范围 任何应用程序都需要的功能。
使用localtime
获取当前会话时区的当前时间(由TimeZone
参数定义)。