MySQL str_to_date在Datagrip中返回减去一天的日期

MySQL str_to_date在Datagrip中返回减去一天的日期,mysql,datagrip,Mysql,Datagrip,如果我错过了什么,我会道歉,不过我从来没有遇到过 我注意到我的查询返回了错误的日期,我传递了'2019-07-19',它给了我'2019-07-18' 现在我看到这个输出: 选择截止日期('2019-07-19','%Y-%m-%d'); 1| '2019-07-18' 有人能解释为什么会这样吗?这不是我的数据库,所以我没有配置任何设置 我使用datagrip执行上面的查询,它给出了奇怪的答案 当我通过cli执行时,我得到了正确的返回 运行 选择@global.time\u zone、@@se

如果我错过了什么,我会道歉,不过我从来没有遇到过

我注意到我的查询返回了错误的日期,我传递了
'2019-07-19'
,它给了我
'2019-07-18'

现在我看到这个输出:

选择截止日期('2019-07-19','%Y-%m-%d');
1| '2019-07-18'
有人能解释为什么会这样吗?这不是我的数据库,所以我没有配置任何设置

我使用datagrip执行上面的查询,它给出了奇怪的答案

当我通过cli执行时,我得到了正确的返回

运行

选择@global.time\u zone、@@session.time\u zone、@@system\u time\u zone、TIMEDIFF(NOW()、UTC\u时间戳);
1 |系统|系统| UTC | 00:00:00
在这两种环境中显示相同的内容

我还看到,明确说明时间戳似乎也返回了正确的响应

选择截止日期('2019-07-19 0:00:00','%Y-%m-%d%H:%i:%s');
1| '2019-07-19 00:00:00'

看来datagrip做错了什么…

在连接属性中设置相应的时区。

无法复制。我发现:其中一个答案是:将
-Duser.timezone=UTC
添加到VM选项似乎可以解决问题,而且设置
Duser.timzone=UTC
对我来说很有效,谢谢!