解决@DateTimeFormat格式化时间出错问题
作者:留守的小柯基
这篇文章主要介绍了解决@DateTimeFormat格式化时间出错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
@DateTimeFormat格式化时间出错
这是前端传值
后端接收到的时间为
bean使用的jsonFormat与DateTimeFormat注解做转换,其中jsonFormat主要用作数据库时间类型与java的date之前做转换,而DateTimeFormat用作前端传来的json数据中时间String与javaBean的Date做转换
网上查了很多时间转换数据错误的问题,大都是因为时区问题导致时间多加了8个小时,这只需要加上timezone = "GMT+8"做时区转换即可。
我这个问题实在是因为自己傻,连这么基础的东西都忘了
bug修复后的
以前一直没有注释时间格式化的细节,HH与hh,MM与mm的区别,经常为了省事四处copy。
做下总结
- yyyy 年份 通常小写 当然大写也没关系 代表年度格式化
- MM(大写) 大写的MM代表月份
- dd 通常小写 大写也不会出错
- HH (hh) HH代表24小时制的时间 hh代表转换为12小时的时间
- mm(小写) 代表分钟
- ss 通常小写 代表秒的转换
对于以上可以看出 大小写主要是为了区别月份与分钟以及时间24小时制度,其他情况一般小写规范。
我这里犯的错也是将分钟数转化为了月份,转化后的时间就变成了两年后了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。