SpringBoot项目前后端日期转换

全局时间转换

使用上这个配置就不需要每个date类型的属性上加格式化的注解了

spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss #上传的body使用的全局时间格式化 <content-type=application/json>
    time-zone: GMT+8
  mvc:
    date-format: yyyy-MM-dd HH:mm:ss #表单上传使用的时间格式化格式 <content-Type=application/x-www-form-urlencoded>

注解转换

注解的优先级高于,全局的时间格式配置,有注解时优先使用注解转换

@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
@ApiModelProperty(name ="createTime",value = "创建时间",notes = "消息创建的时间")
private Date createTime;

使用@DateTimeFormat注解解决前台string类型与后台date类型的转换,使用@JsonFormat注解解决后台date类型与前台string类型的转换

说明:

  • 前台传String类型的日期,后台使用Date类型接收,使用@DateTimeFormat注解。
  • 从数据库里面查询到了日期,然后我们想把这个日期自动的变成String类型,这时我们可以使用@JsonFormat注解。

注意: @DateTimeFormat @JsonFormat 这两个注解在网上搜索很许多资料,我只提几个需要注意的地方:

  • 注意这两个注解的注解位置
  • 注意被注解的字段应该是Date类型
  • 一般会用在VO中
  • @JsonFormat不要忘了加GMT+8
  • @DateTimeFormat要注意前台传过的日期格式是yyyy-MM-dd的形式,如果你传了一个yyyyMMdd的形式会报错(日期格式基于下面的程序):

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
无道的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容