您的位置:首页 > 房产 > 家装 > 装修网站排名前十名_清远专业网站建设服务_简单的个人网页制作html_软文写作兼职

装修网站排名前十名_清远专业网站建设服务_简单的个人网页制作html_软文写作兼职

2025/4/22 23:40:16 来源:https://blog.csdn.net/2401_87473474/article/details/147103385  浏览:    关键词:装修网站排名前十名_清远专业网站建设服务_简单的个人网页制作html_软文写作兼职
装修网站排名前十名_清远专业网站建设服务_简单的个人网页制作html_软文写作兼职

前后端时区不一致导致:

》数据不显示在前端

》页面显示时间有误

》一些对时间有要求的方法,无法正确执行,出现null值,加上我们对null值有判断/注解,程序就会报错中断,以为是业务逻辑问题,其实是前后端时区有差距。

-------------------------------------

情况:前后端,数据库都设置为+8:00 但是还是相差一天。

前端增加2025-4-9 页面显示为2025-4-8 ;后端拦截和数据库均显示2025-4-9。

解决方法:前后端改成 Asia/Shanghai ,数据库为+8:00

-----------------------------------

1. mysql 数据库设置全局时区为 +8:00

// 查询当前数据库时区
show variables like '%time_zone%';// 进入root账户修改全局时区,因为root默认为超级权限用户,千万不要把这个用户给删了
// 如果不小心删了,可以借助还没有断开root用户连接的第三方工具(batabase,navicat),在里面执行sql语句,给root所有的权限,再次成为超级权限用户
mysql -u root -p//设置全局时区,重启数据库依然有效set gloable time_zone="+8:00";//我用的Mysql8.0 只能设置为+8:00,其他的GMT UTC Asia/Shanghai 等等都执行不了//+8:00 等效于 Asia/Shanghai 在国内的程序,最好都设为 Asia/Shanghai,不容易报错

2. 程序所有用到时区的地方都设置为 Asia/Shanghai

1)req resp 请求的注解

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")

2)后端 所有配置数据库的文件

 connectionURL="jdbc:mysql://localhost:3306/train_batch?serverTimezone=Asia/Shanghai"
spring.datasource.url=jdbc:mysql://localhost:3306/train_business?serverTimezone=Asia/Shanghai
spring.jackson.time-zone=Asia/Shanghai

3) 前端的时区矫正也写在后端对应模块的application.properties文件里

# 前端时区矫正
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=Asia/Shanghai

4)连接数据库的软件配置

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com