前端的input类型中的datetime-local传到后端用LocalDateTime接收

6 篇文章 0 订阅

做毕设时也没用别的时间类型的第三方的插件,直接用的\<input type="datetime-local"> 之后直接用ajax把表单提交了,但是后端用LocalDateTime接收的话会报错,如果用@ValidBindingResult就可以看到报错信息了,而且也接收不到时间,所以记录一下。

通过在字段上加@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")也没用,之后看报错的信息发现数据长度对不上,因为LocalDateTime 的格式是yyyy-MM-ddTHH:mm:ss,但是传到后端的时间数据实际上是yyyy-MM-ddTHH:mm这样的,缺少了:ss

解决方法: 网上有前端解决的,因为我是表单提交,就没触发函数回调处理时间,直接后端处理时间

  1. 首先接收时间类型的字段改成String
  2. 把字符串转换成LocalDateTime就可以了
  DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  LocalDateTime.parse(“后端接收时间的字符串”.replaceAll("T", " ") + ":00", df)

我自我感觉太low了,应该有更好的解决办法,但是赶时间能解决问题就行,如果有更好的解决方法请告诉我一声

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值