在mysql时间戳和我放的小时之间切换mysql

时间:2019-05-18 21:46:29

标签: java mysql java-8 timezone

我正在将intellij用于javaee项目,但是我在时间存储方面遇到了问题:我投入的时间与mysql中实际存储的时间之间存在2个小时的偏移。

目前在互联网上进行的某些搜索没有任何结果。

这是我设置15:30的小时的Java语句

Bien bien = new Bien(0, "mon super bien #2", 320, 5, 3, true,
                520000, "4 impasse des bleuets",
                LocalDateTime.of(2019, Month.MAY,1,15,30),
                false, bien0.getTypeChauffage(), bien0.getOptions(), bien0.getVille());

enter image description here

您会在右边的图片中看到存储的时间是13:30!失去了2个小时。

一些信息:

我住在法国,夏季时是UTC + 2;所以我把这一行放在mysql'my.ini中:

  

default-time-zone ='+ 02:00'

并在phpmyadmin中,如果我输入

select now();

我得到了正确的时间。

从intellij和phpmyadmin获得错误的时间。 即使在更改mysql中的默认时区之前也得到了错误的时间。(但是当我更改时区时,先前输入的日期时间发生了变化) 连接字符串很普通,没有任何附加参数(仅数据库,端口,用户,密码)。

我将继续搜索,但是如果有人可以帮助我,那将是一种好感。

这是phpMyAdmin的输出: enter image description here

1 个答案:

答案 0 :(得分:1)

数据库中的时区始终存储在UTC中。我想您没有在phpmyadmin或intellj配置中更改时区,所以您可以看到原始数据。

如果尚未找到,请选中How do I set the time zone of MySQL?