java前台和后台遇到的问题_前端时间传递后端遇到问题总结

以3月4号为例子:

1.前端传递date对象

控制台:

7d0f7e948c02258da44242fa44f261e1.png

后端Dto 使用Date接收

private Date planSignTime

结果:后端报错

JSON parse error: Cannot deserialize value of type `java.util.Date` from String "2020-03-03T16:00:00.000Z";

原因:待补充

2.前端传递date对象

控制台:

58d753356c69e173f240eb05b9650e51.png

后端Dto 使用Date接收,并添加@JsonFormat注解

@JsonFormat(pattern="yyyy-MM-dd")

private Date planSignTime;

结果:无报错,但时间慢了一天

15063ababd5b2c29b83a3df5c1b57587.png

原因:

spring中对于@RestController或者@Controller+@ResponseBody

注解的接口方法的返回值默认是Json格式,

所以当对于date类型的数据,在返回浏览器端是会被spring-boot

默认的Jackson框架转换,而Jackson框架默认的时区GMT(相对于中国是少了8小时)。

因为格式化成yyyy-MM-dd,后面时间舍去,所以直接少一天。

3.前端传字符串(用到element官方文档中,格式化时间:value-format="yyyy-MM-dd" ,同时,rules监听时,type应改为string类型)

控制台:

e73da389a9744872e28abf6867a6315b.png

后端Dto 使用Date接收,并添加@JsonFormat注解

@JsonFormat(pattern="yyyy-MM-dd")

private Date planSignTime;

结果:正常

e0004745e56b034a6c38ed9fd91148ce.png

注解解释:

@JsonFormat用于将前台传到后台字符串变量转换为Date类型,还可将后台返回前台的Date变量转换为字符串类型(常用)

@DateTimeFormat用于将前台传到后台字符串变量转换为Date类型

a0960c9c1a2da1bb9678b8478f55c5e7.png

4a668feaa3018a2e1706f07e5002bcc8.png

小牛同学_

发布了33 篇原创文章 · 获赞 18 · 访问量 5万+

私信

关注

标签:总结,JsonFormat,MM,前端,传递,Date,注解,yyyy,dd

来源: https://blog.csdn.net/ChickenBro_/article/details/104626692

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值