当前位置: 首页 > news >正文

解决前后端时区不一致问题

前后端时区不一致导致:

》数据不显示在前端

》页面显示时间有误

》一些对时间有要求的方法,无法正确执行,出现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?time_zone='Asia/Shanghai'"
spring.datasource.url=jdbc:mysql://localhost:3306/train_business?time_zone=Asia/Shanghai
spring.jackson.time-zone=Asia/Shanghai

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

 

 

 

相关文章:

  • Redis与Mysql双写一致性如何保证?
  • 图灵逆向——题十-魔改算法
  • Tigshop| 一个基于Java的开源商城系统
  • C++初级入门学习
  • Android里面如何优化xml布局
  • 应急物资仓库管理系统|基于GAV仓库管理的应用
  • 美*WMS项目总结
  • ​如何判断安捷伦气质联用仪GCMS 8890-5977B 四级杆是否需要更换​
  • Linux——进程概念
  • RTK 实时动态定位概述
  • Java 中 SQL 注入问题剖析​
  • TrueNAS scale(23.10) Restful API接口调用
  • LLM 为什么使用ID,每个单词不都是有编码的吗
  • vit中的位置编码,RoPE旋转位置编码,torch.nn.functional.embedding
  • 动态路由刷新后消失或重定向到404
  • CCF-GESP(编程能力等级认证)
  • openpyxl合并连续相同元素的单元格
  • RVOS-2.基于NS16550a ,为os添加终端交互功能。
  • 车载刷写架构 --- ECU收到相同的blockSequenceCounter数据包的思考
  • Java Collections 类中常用方法使用
  • 网络营销是一种无媒介销售/windows优化大师有毒吗
  • 医疗网站前置审批/网络营销服务的特点
  • 特克斯与凯科斯群岛域名官方网站/免费发布广告
  • 做情侣网站/网站如何建立
  • 哪个网站可以做创意短视频/直销产业发展论坛
  • 合肥seo网站优化培训/网站提交收录