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

MySQL str_to_date returning the date minus one day in Datagrip

如果我遗漏了什么,我深表歉意,不过我从来没有遇到过这种情况。

我注意到我的查询是 return 错误的日期,我正在传递 '2019-07-19' 并且它给了我 '2019-07-18'

的结果集

现在我看到这个输出:

select str_to_date('2019-07-19', '%Y-%m-%d');

1| '2019-07-18'

谁能解释为什么会这样?这不是我的数据库,所以我没有配置任何设置。

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

当我通过 cli 执行时,我得到了正确的 return。

运行

SELECT @@global.time_zone, @@session.time_zone, @@system_time_zone, TIMEDIFF(NOW(), UTC_TIMESTAMP);

1| SYSTEM    | SYSTEM    | UTC   | 00:00:00

在两种环境中显示相同的东西

我还看到明确说明时间戳似乎 return 也是正确的回应

select str_to_date('2019-07-19 0:00:00', '%Y-%m-%d %H:%i:%s');

1| '2019-07-19 00:00:00'

看来 datagrip 做错了什么...

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