LocalDateTime存入数据库后少了8小时
由于LocalDateTime不带时区信息,在持久化到数据库时,可能会出现时间少了8小时的情况。
·
问题描述
由于LocalDateTime不带时区信息,在持久化到数据库时,可能会出现时间少了8小时的情况。
解决方案
- 检查数据库时区是不是
CST
或者GMT+8
:show variables like '%time_zone%'
- 设置jdk的默认时区:
-Duser.timezone=GMT+8
- 设置Jackson框架的时区:
spring.jackson.timeZone=GMT+8
,如果不方便修改全局时区配置,可以在对应的字段上面进行单独修改:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
private LocalDateTime createdTime;

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)