springboot返回时间有错解决方案

问题

有些人做springboot项目会遇到一个问题:前端写一个时间,然后传到后台莫名其妙的就少了一天,也就是实际存进数据库的时间比你前端写的时间少


原因和解决方案

原因一:可能你spring时区忘记配置了(否者会使用spring默认时区),所以要在配置文件里面配置,如下:
spring.jackson.time-zone=GMT+8
这条语句能解决你时间少8个小时问题,当然一般会在跟上一条时间戳配置,如下:
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
这条语句可以是Date时间格式化,一般这两条语句一起用。

原因二:这个原因隐藏很深,当你发现你加上上面两条语句后时间还是少的话,若你有用的数据库是mysql,且mysql.jar是6.x版本的话(与5.x不同),可能你配置的时区错了,在url加上serverTimezone=Asia/Shanghai,一般都会配置成UTC(世界标准时间,中国标准时间是东八区的,比它晚整整8个小时),所以在中国一定要配置成上海的,方便我们做项目处理时间问题。当然,说的多还不如贴出来:
mysql配置


总结

springboot关于时间变少原因基本就这两个了,相信经过这一番沉淀后大家可以更好地与springboot玩耍了。


smirk小泽
2018 年 01月07日

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值