mysql保存的日期比java应用程序输入的日期早一天

m4pnthwp  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(299)

我在当前项目(生产)中使用以下规范
操作系统:centos 7
数据库:mysql
java 8
冬眠
tomcat服务器8
数据库与应用服务器位于不同的服务器上,但两者位于同一局域网中。
mysql表中的数据类型为: date 仅用于存储日期和 datetime 用于保存日期和时间。
问题是mysql保存的日期比application提供的日期早1天。我试过以下方法,但仍然没有成功:
我已经将应用程序和数据库服务器的时区设置为asia/dhaka,并从我的java应用程序中检查了这一点。
我还在tomcat服务器(setenv.sh)文件中设置了时区。
我还检查了在log4j属性文件中通过跟踪从hibernate生成的sql,其中的日期也与输入日期相同。
我错过了什么?有人能建议吗?

nhaq1z21

nhaq1z211#

也许你可以试着改变一下 serverTimezone :

serverTimezone=GMT%2B8
frebpwbc

frebpwbc2#

感谢大家分享你在这个问题上的经验。
最后,我通过改变 serverTimezone 中mysql连接字符串的属性 dispatcher-servlet 我的javaweb应用程序。

<property name="url" value="jdbc:mysql://x.x.x..x:3306/dbname?characterEncoding=utf-8&amp;useSSL=false&amp;serverTimezone=Asia/Dhaka" />

相关问题