java添加 date 到數據庫,時間不一致
使用 date 添加到數據庫,數據庫顯示的時候和date時間相差 8 個小時,這是由於 mysql 上的時區的問題,這里有兩個解決方案:
方案一: 設置數據庫連接時區
在 springboot 的配置文件中的 spring.datasource.url
添加后綴 serverTimezone=Asia/Shanghai
。設置本地時區。
方案二: 設置 mysql 時區
查看 mysql 時區:
show variables like "%time_zone%";
這里分成修改當前會話和全局會話
- 修改當前會話只對當前會話有效,退出會話就失效
- 修改全局會話是要退出當前會話后才有效
修改當前會話:
SET time_zone = "+8:00";
修改全局會話:
SET global time_zone = "+8:00";
這里最好修改全局會話。
java 獲取 date 時間和前端展示不一致
后端時間和數據庫時間相差 8 個小時
原因
springboot 中的@RestController 注解接口返回 json 格式數據,對於 date 類型的數據,會被 spring-boot 默認的Jackson框架轉化,而 Jackson 框架默認時區是 GMT(相對於中國少了 8 個小時)。
解決方案
在 application.yml
添加配置:
spring:
jackson:
time-zone: GMT+8
如果覺得文章對你有幫助的話,請點個推薦吧!