有时候在java程序中,时间比实际时间少8个小时,原因可能会有两个
一、springboot没有设置时区
设置方式是在springboot的yml文件里面设置东八区的时间,可以配合格式化使用,具体写法是:
spring:
# jackson时间格式化
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm
二、mysql没有设置时区
如果不是进行了第一个设置还没解决问题,mysql版本用的是6.X的话,需要在url加上serverTimezone=Asia/Shanghai把时区配置成上海的
url: jdbc:mysql://xx.xx.xx.xx:3306/mysqlName?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai