Java获取的时间与mysql数据库的不一致

这是因为mysql上时区的问题,有两种解决方法。

方法一:设置数据库连接时区

Lua 复制代码
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/yourDataBase?useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: your password
    driver-class-name: com.mysql.cj.jdbc.Driver

方法二: 设置 mysql 时区

查看 mysql 时区:

Lua 复制代码
show variables like "%time_zone%";

这里分成修改当前会话和全局会话

  • 修改当前会话只对当前会话有效,退出会话就失效
  • 修改全局会话是要退出当前会话后才有效

修改当前会话:

Lua 复制代码
SET time_zone = "+8:00";

修改全局会话:

Lua 复制代码
SET global time_zone = "+8:00";

这里最好修改全局会话

java 获取 date 时间和前端展示不一致

后端时间和数据库时间相差 8 个小时

原因

springboot 中的@RestController 注解接口返回 json 格式数据,对于 date 类型的数据,会被 spring-boot 默认的Jackson框架转化,而 Jackson 框架默认时区是 GMT(相对于中国少了 8 个小时)。

解决方案

application.yml 添加配置:

Lua 复制代码
spring:
  jackson:
    time-zone: GMT+8

就是这样,看到这里点个赞吧!

相关推荐
枕布响丸辣11 分钟前
MySQL 数据库备份与恢复全攻略:从基础到实战
数据库·oracle
timi先生13 分钟前
语料库全栈项目部署 (Vue + Java + CQPweb)
java·前端·vue.js
dgvri15 分钟前
Linux(CentOS)安装 MySQL
linux·mysql·centos
IvorySQL15 分钟前
PostgreSQL 技术日报 (3月31日)|五大内核模块补丁评审与问题修复汇总
数据库·postgresql·开源
IvorySQL20 分钟前
最后 1 天!HOW 2026 早鸟票收官,赴济南解锁开源数据库未来
数据库·postgresql·开源
PacosonSWJTU30 分钟前
(转)mybatis拦截器
数据库·redis·mybatis
sunwenjian88632 分钟前
Java进阶--IO流
java·开发语言
yitian_hm40 分钟前
HBase 原理深度剖析:从数据模型到存储机制
大数据·数据库·hbase
Anastasiozzzz41 分钟前
深入研究RAG: 向量数据库 原理&选型
数据库
客卿1231 小时前
滑动窗口--模板
java·算法