我正在将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());
您会在右边的图片中看到存储的时间是13:30!失去了2个小时。
一些信息:
我住在法国,夏季时是UTC + 2;所以我把这一行放在mysql'my.ini中:
default-time-zone ='+ 02:00'
并在phpmyadmin中,如果我输入
select now();
我得到了正确的时间。
从intellij和phpmyadmin获得错误的时间。 即使在更改mysql中的默认时区之前也得到了错误的时间。(但是当我更改时区时,先前输入的日期时间发生了变化) 连接字符串很普通,没有任何附加参数(仅数据库,端口,用户,密码)。
我将继续搜索,但是如果有人可以帮助我,那将是一种好感。
答案 0 :(得分:1)
数据库中的时区始终存储在UTC中。我想您没有在phpmyadmin或intellj配置中更改时区,所以您可以看到原始数据。
如果尚未找到,请选中How do I set the time zone of MySQL?。