数据库链接serverTimezone时区错误问题

发布于:2023-09-15 ⋅ 阅读:(86) ⋅ 点赞:(0)

时间错误问题

如果配置serverTimezone=UTC,则会显示国际标准时间(格林威治时间),而项目中通常是北京时间。下面的日志输出可以看到,数据库显示的时间和日志输出时间不一致。
在这里插入图片描述
在这里插入图片描述

解决办法

配置serverTimezone=Asia/Shanghai即可,或者是GMT+8,配置里应写为GMT%2B8。

  • 正确的示例serverTimezone=Asia/Shanghai
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/mydb?characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  • 正确的示例serverTimezone=GMT%2B8,这是由于转码的问题GMT+8应该写成GMT%2B8
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/mydb?characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver

下面的示例改成serverTimezone=Asia/Shanghai 再次测试,可以看到日志输出的createtime和数据库的createtime一致
在这里插入图片描述

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到