记录有关时间字段新增mysql数据库时时间不一致问题

  • Post author:
  • Post category:mysql


在遇到时间字段新增数据库时,总会有发生后台生成的时间与数据库新增后的时间不一致,解决的方式网上有很多种,但是有的方法用上不奏效,这很显然治标不治本,这时你要了解这些方法的作用范围了,下面我仅举例俩种解决方案,也是我常用的

1、使用jackson中的

JsonFormat

注解来解决时间格式问题:

这种方法的作用范围在后台将时间作为json数据进行传输时,类似这样的方法有很多,就不都一一例举了;当java.util.Date生成时间时,它是根据当前的默认毫秒值创建日期对象,有关jsonformat介绍(

https://blog.csdn.net/qq_28483283/article/details/81326365

)

1

2、添加

serverTimezone

属性连接数据库:

这种方法的作用范围在时间参数从后台传输到数据库时,有关serverTimezone属性的介绍链接:

https://blog.csdn.net/love20yh/article/details/80799610

;此属性对新版和旧版的驱动类都支持

3



情况一、未使用JsonFormat注解和serverTimezone属性


时:

json数据中的时间:

新增到数据库的时间:

当前系统时间:


情况二、仅使用JsonFormat注解时:

json数据中的时间:

新增到数据库的时间:

当前系统时间:


情况三、仅使用serverTimezone属性时:

json数据中的时间:

新增到数据库的时间:

当前系统时间:


情况四、使用JsonFormat注解和serverTimezone属性


时:

json数据中的时间:

新增到数据库的时间:

当前系统时间:

结语:

很明显,在数据库这块,serverTimezone属性有着巨大的作用;而在json格式这块,JsonFormat注解起着巨大作用;虽说情况三和情况四最终的结果是统一的,但是为了防止项目中比如需要用到展示json数据中的日期这种情况,所以还是习惯性的把serverTimezone属性和JsonFormat注解都加上为好。这次分享就到这里,欢迎指正错误,评论区欢迎交流讨论,谢谢观赏。



版权声明:本文为qq_40579568原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。