admin管理员组文章数量:1794759
JAVA 实体类对日期的格式化、序列化日期时间
通过百度查询,找到了3种方式
1.@JsonFormat和@JSONField是处理请求参数为json格式的时间 例如前端传送时间为“2020-08-12 23:28:00”,使用@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”, timezone = “GMT+8”),这两者前面都带JSON,接收请求和返回数据格式为json时,注解生效。JSONField目前最长的用属性是@JSONField(name=”resType”)和 @JSONField(format=”yyyy-MM-dd”)
2.@DateTimeFormat也是处理时间格式,但它不支持反序列化,也就是不能转化前端数据格式为json。它能接收表单形式的时间格式,直接使用注解@DateTimeFormat(pattern=”yyyy-MM-dd”)
3.总结 前端读取数据库日期字段时使用 @JsonFormat和@JSONField 可以将时间戳转为格式化的日期数据。 前端使用JSON提交时用@JsonFormat和@JSONField 前端使用Form提交时用@DateTimeFormat
@DateTimeFormat将入参date类型格式化为指定格式传入 ,@JsonFormat将结果date类型以指定格式展示。
对于@RequestBody的请求@DateTimeFormat不起作用,@JsonFormat对它的入参和出参都起作用。@RequestParam时@DateTimeFormat才有作用。 参考链接:blog.csdn/weixin_41712768/article/details/107969184
解决方案 一 (不是太推荐,因为不可能所有的实体类都去加这个注解,这也是我们昨天头疼的问题) 给实体类上面加上 @JsonFormat 反序列化 格式化日期时间注解
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = “yyyy-MM-dd HH:mm:ss”, timezone = “GMT+8”) private Date updateTime; 解决方案 二 我觉得最好使的办法
可以在Spring的全局配置文件application.yml中添加以下配置即可: spring: jackson: date-format: "yyyy-MM-dd HH:mm:ss " time-zone: “GMT+8” mvc: date-format: "yyyy-MM-dd HH:mm:ss " 以上配置等同于在字段上添加注解: @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = “yyyy-MM-dd HH:mm:ss”, timezone = “GMT+8”) 如果你字段时间不要yyyy-MM-dd HH:mm:ss格式的,可以通过在字段上添加注解方式格式化日期,当然如果你只需要年月日,可以将表对应的字段设置为Date(年月日)而不是DateTime(年月日时分秒)类型
spring: jackson: serialization: write-dates-as-timestamps: true time-zone: GMT+8 default-property-inclusion: non-null date-format: yyyy-MM-dd HH:mm:ss 这个问题,我们项目组好几个同事,直接干到11点;第二天找了以上午才找到; 参考原文链接:blog.csdn/qq_45010998/article/details/121957318
最后深知大多数初中级JAVA工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。
版权声明:本文标题:JAVA 实体类对日期的格式化、序列化日期时间 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686793077a103641.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论