Database 是否可以在PHPStorm中为DB数据源指定时区?

Database 是否可以在PHPStorm中为DB数据源指定时区?,database,timezone,phpstorm,Database,Timezone,Phpstorm,我在PostgreSQL中设置了UTC时区,SELECT NOW()在psql控制台中显示正确的日期 我使用PHPStorm进行开发,并使用其数据库控制台访问我的数据库,但它使用不同的时区(欧洲/莫斯科,这是我Mac的时区),并且SELECT NOW()向我显示此时区中的时间(顺便说一下,日期是错误的,因为欧洲/莫斯科时区最近将其偏移量从+4更改为+3) 我还没有找到任何关于如何告诉PHPStorm使用postgresql.conf中配置的时区而不是系统时区的信息。有可能吗?我找到了一个解决方案

我在PostgreSQL中设置了
UTC
时区,
SELECT NOW()
psql
控制台中显示正确的日期

我使用PHPStorm进行开发,并使用其数据库控制台访问我的数据库,但它使用不同的时区(欧洲/莫斯科,这是我Mac的时区),并且
SELECT NOW()
向我显示此时区中的时间(顺便说一下,日期是错误的,因为欧洲/莫斯科时区最近将其偏移量从
+4
更改为
+3


我还没有找到任何关于如何告诉PHPStorm使用
postgresql.conf
中配置的时区而不是系统时区的信息。有可能吗?

我找到了一个解决方案,但它会影响IDE中每一个特定于时间的行为,例如控制台日志将以UTC显示日期时间

其思想是将时区传递给VM选项。为此,我们需要修改一个文件并重新启动IDE

对于最新版本PHPStorm的Mac OS X:

cp /Applications/PhpStorm.app/Contents/bin/phpstorm.vmoptions ~/Library/Preferences/PhpStorm2016.1/
然后将
-Duser.timezone=UTC
添加到文件中,使其看起来像:

-Xms128m
-Xmx750m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=240m
-XX:+UseCompressedOops
-Duser.timezone=UTC

在使用
-Duser.timezone=UTC
行修改phpstorm.vmoptions文件后,我看到正确的返回仅来自
NOW()
函数,但不正确的返回来自对表的查询,如
SELECT timestamp from…

仅将带有
false
值的变量
timezoneAsRegion
添加到连接的高级选项卡,而不进行任何phpstorm.vmoptions更改,这有助于我从表中返回正确的时区


文档链接:

通过查询验证您的时区

SELECT * FROM pg_timezone_names
现在将phpstorm.vmoptions添加到配置关闭时区中

-Duser.时区=posix/美国/圣保罗


应用更改、断开连接、同步和验证
立即选择()

我已经为PhpStorm2017.2做了更改,但没有效果(我重新启动了)。我将/Users/aprosciak/Library/Preferences/PhpStorm2017.2/phpstorm.vmoptions line-Duser.timezone=UTC添加到coppied文件中。知道会出现什么问题吗?