时间错误问题
如果配置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一致