PHPStorm中的DB数据源是否可以指定时区?

Ale*_*Guz 5 database timezone phpstorm

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

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

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

van*_*ndf 5

使用查询验证您的时区

SELECT * FROM pg_timezone_names
Run Code Online (Sandbox Code Playgroud)

现在添加 phpstorm.vmoptions 时区配置

-Duser.timezone=posix/America/Sao_Paulo

在此输入图像描述

应用更改、断开连接、同步并验证select now()


Ale*_*Guz 1

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

这个想法是将时区传递给虚拟机选项。为此,我们需要修改文件并重新启动 IDE。

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

cp /Applications/PhpStorm.app/Contents/bin/phpstorm.vmoptions ~/Library/Preferences/PhpStorm2016.1/
Run Code Online (Sandbox Code Playgroud)

然后添加-Duser.timezone=UTC到文件中,使其看起来像这样:

-Xms128m
-Xmx750m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=240m
-XX:+UseCompressedOops
-Duser.timezone=UTC
Run Code Online (Sandbox Code Playgroud)